我有以下代码:
var fxRate = new FxRate();
这给了我以下StyleCop ReSharper警告:
变量名称“ fxRate”以类似于以下内容的前缀开头 匈牙利表示法。
我尝试将Settings.StyleCop文件复制到我的解决方案文件夹并添加fx条目:
<Analyzers>
<Analyzer AnalyzerId="StyleCop.CSharp.NamingRules">
<AnalyzerSettings>
<CollectionProperty Name="Hungarian">
...
<Value>fx</Value>
...
我已经重新启动VS,但仍然收到相同的警告。 我正在VS2017中使用StyleCop ReSharper扩展。
如何确保“ fx”是解决方案中的有效前缀(对于所有团队成员)?
答案 0 :(得分:3)
我正在将 VisualStudio 2017 与 ReSharper 2018.2 和相应的 StyleCop by JetBrains 扩展一起使用(版本2018.2.0-StyleCop.ReSharper.dll 5.0.6329.1)
在我们的项目中,我在解决方案文件旁边的解决方案文件夹中添加了Settings.StyleCop
文件。
为了测试您的前缀,我已将fx
添加到我的设置文件中,并且可以直接使用。
我的文件包含以下分析器规则。
<Analyzer AnalyzerId="StyleCop.CSharp.NamingRules">
<Rules>
<Rule Name="FieldNamesMustNotUseHungarianNotation">
<RuleSettings>
<BooleanProperty Name="Enabled">True</BooleanProperty>
</RuleSettings>
</Rule>
</Rules>
<AnalyzerSettings>
<CollectionProperty Name="Hungarian">
...
<Value>fx</Value>
..
</CollectionProperty>
</AnalyzerSettings>
我的Resharper配置如下:
如何确保“ fx”是解决方案中所有团队成员的有效前缀)?
在我们的项目中,我们总是签入StyleCop设置文件,因此我们确保所有成员都使用正确的文件,并确保所有文件都保持最新。
除了ReSharper插件外,您还可以使用StyleCop中的NuGet store软件包并将其添加到您的解决方案中:
在使用Visual Studio 2015及更高版本时,StyleCop团队建议在StyleCopAnalyzers上使用StyleCop extension。
答案 1 :(得分:0)
我将ReSharper更新为2018.2.1,现在文件中的值为:
<CollectionProperty Name="Hungarian">
...
<Value>fx</Value>
...
被成功识别。这使警告消失了。
我不确定这是更新本身还是清除了缓存之类的东西。