Как предотвратить предупреждение StyleCop о венгерской нотации, когда префикс действителен

У меня есть следующий код:

var fxRate = new FxRate();

который дает мне следующее предупреждение StyleCop ReSharper:

Имя переменной 'fxRate' начинается с префикса, который выглядит как венгерская нотация.

Я попытался скопировать файл Settings.StyleCop в папку с моим решением и добавить запись для fx:

  <Analyzers>
    <Analyzer AnalyzerId="StyleCop.CSharp.NamingRules">
      <AnalyzerSettings>
        <CollectionProperty Name="Hungarian">
          ...
          <Value>fx</Value>
          ...

Я перезапустил VS, но я все еще получаю то же предупреждение. Я использую расширение StyleCop ReSharper в VS2017.

Как мне убедиться, что 'fx' является действительным префиксом в решении (для всех членов команды)?

2 ответа

Решение

Я обновил ReSharper до 2018.2.1 и теперь значения в файле:

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

получают успешно признаны. Это делает предупреждение уйти.

Я не уверен, было ли это само обновление или что-то вроде очистки кэша.

Я использую VisualStudio 2017 с ReSharper 2018.2 и соответствующим расширением StyleCop от 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 вы также можете использовать пакет StyleCop, находящийся в магазине NuGet, и добавить его в свое решение:

StyleCop - NugetPackage

Команда StyleCop рекомендует использовать StyleCopAnalyzers над расширением StyleCop при использовании VisualStudio 2015 и более поздних версий.

Другие вопросы по тегам