前缀有效时如何防止匈牙利语符号的StyleCop警告

时间:2018-09-06 11:18:26

标签: c# visual-studio-2017 stylecop hungarian-notation resharper-2018

我有以下代码:

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”是解决方案中的有效前缀(对于所有团队成员)?

2 个答案:

答案 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配置如下:

StyleCop Configuration


  

如何确保“ fx”是解决方案中所有团队成员的有效前缀)?

在我们的项目中,我们总是签入StyleCop设置文件,因此我们确保所有成员都使用正确的文件,并确保所有文件都保持最新。


除了ReSharper插件外,您还可以使用StyleCop中的NuGet store软件包并将其添加到您的解决方案中:

StyleCop - NugetPackage

在使用Visual Studio 2015及更高版本时,StyleCop团队建议在StyleCopAnalyzers上使用StyleCop extension

答案 1 :(得分:0)

我将ReSharper更新为2018.2.1,现在文件中的值为:

 <CollectionProperty Name="Hungarian">
          ...
          <Value>fx</Value>
          ...

被成功识别。这使警告消失了。

我不确定这是更新本身还是清除了缓存之类的东西。