我有以下代码:
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”是解决方案中的有效前缀(适用于所有团队成员)?
我正在使用带有ReSharper 2018.2的VisualStudio 2017和JetBrains扩展的相应StyleCop(版本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包并将其添加到您的解决方案中:
StyleCop团队建议在使用VisualStudio 2015及更高版本时使用StyleCopAnalyzers而不是StyleCop extension。
我将ReSharper更新为2018.2.1,现在更新了文件中的值:
<CollectionProperty Name="Hungarian">
...
<Value>fx</Value>
...
正在获得成功认可。这使得警告消失了。
我不确定它是更新本身还是类似缓存被清除的东西。