Как предотвратить предупреждение StyleCop о венгерской нотации, когда префикс действителен - PullRequest
0 голосов
/ 06 сентября 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, но я все еще получаю то же предупреждение. Я использую расширение StyleCop ReSharper в VS2017.

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

Ответы [ 2 ]

0 голосов
/ 14 сентября 2018

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

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

успешно распознаются. Это заставляет предупреждение исчезнуть.

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

0 голосов
/ 10 сентября 2018

Я использую 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 Configuration


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

В наших проектах мы всегда проверяем файл настроек StyleCop, поэтому мы гарантируем, что все участники используют правильный вариант, и мы можем поддерживать его в актуальном состоянии для всех.


В дополнение к плагину ReSharper вы также можете использовать пакет StyleCop , находящийся в магазине NuGet , и добавить его в свое решение:

StyleCop - NugetPackage

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

...