ReSharper忽略任何带下划线的方法的命名规则。新功能"功能"或配置错误?

时间:2014-05-25 22:35:22

标签: visual-studio-2013 resharper resharper-8.2

我在Visual Studio 2013中运行了ReSharper v8.2.1(Build 8.2.1000.4556)。我只是注意到行为,如果我在方法名称中加上下划线,“Inconsistent Naming”警告会完全消失。例如:

public void zzz()
{
    // The ReSharper warning appears for this one, zzz()
}

public void zz_z()
{
    // But not this one
}

我只是将我的ReSharper设置重新设置为出厂默认设置,以确保我没有其他干扰,并且相同的行为仍然存在。

我检查了“方法,属性和事件”下的命名约定(产生“zzz()”警告的有效设置),并且Name样式设置为“UpperCamelCase”,因为我一直都知道它是。没有选择“下划线宽容”设置。

所以,问题是,这是一个新的“功能”,我是否在某处错误配置了某些内容,或者我错过了一些完全明显的内容?

1 个答案:

答案 0 :(得分:7)

我不确定这是否是8.1中的新内容,但Resharper不会对下划线方法名称发出警告,因为这是事件处理程序的约定,如object_Event(...)。 Resharper没有标记它,因为它试图允许该约定,这就是许多代码生成器产生的。

你可以通过转到Resharper来改变这一点 - >选项 - >代码编辑 - > C# - >命名风格 - >高级设置...然后将“字段上的活动订阅”更改为$object$_$event$以外的内容,例如$object$On$event$

然后它将开始对名称中带下划线的方法进行分析。