Как предотвратить предупреждение 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" является допустимым префиксом в решении (для всех членов команды)?
Ответы
Ответ 1
Я обновил ReSharper до 2018.2.1 и теперь значения в файле:
<CollectionProperty Name="Hungarian">
...
<Value>fx</Value>
...
успешно распознаются. Это заставляет предупреждение уйти.
Я не уверен, было ли это само обновление или что-то вроде очистки кеша.
Ответ 2
Я использую 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 и более поздних версий.