11

我有以下代码:

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

4

2 回答 2

3

我正在使用带有ReSharper 2018.2的VisualStudio 2017和相应的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 配置


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

在我们的项目中,我们总是检查 StyleCop 设置文件,因此我们确保所有成员都使用正确的设置文件,并且我们可以让所有人保持最新状态。


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

StyleCop - NugetPackage

StyleCop 团队建议在使用 VisualStudio 2015 及更高版本时使用StyleCopAnalyzers而不是StyleCop 扩展。

于 2018-09-10T11:08:43.107 回答
0

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

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

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

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

于 2018-09-14T15:51:02.433 回答