Как включить альтернативные правила StyleCop (с префиксом SX) при использовании StyleCopAnalyzers (Roslyn)?

Для существующего веб-проекта С# я пытаюсь настроить анализ кода StyleCop на основе анализаторов Roslyn. (DotNetAnalyzers/StyleCopAnalyzers)

Мне удалось заставить его работать достаточно хорошо для нашего желаемого стиля кода, за исключением того, что мы не хотели бы использовать эти правила по умолчанию:

  • SA1101: префикс местных вызовов с этим
  • SA1309: имена полей не должны начинаться с подчеркивания.

Вместо этого мы хотим каким-то образом включить эти альтернативные правила, упомянутые на stylecop.pdelvo.com как DisabledAlternative.

  • SX1101: не добавляйте префикс «это» к локальным вызовам.
  • SX1309: имена полей должны начинаться с подчеркивания.
  • SX1309S: имена статических полей должны начинаться с подчеркивания.

Упомянутый сайт показывает, что в этих альтернативных правилах даже реализованы исправления кода, поэтому я ожидаю, что они будут доступны для использования.

Я неоднократно искал в сети и нашел только сообщения с предложениями ввести эти правила и другую документацию о том, как правила работают, как их подавить и т. д., но не как включить их.

Используя файл GlobalSuppressions.cs, я могу только отключить некоторые правила, но не могу их включить.

В документации по использованию stylecop.json для точной настройки некоторых правил это также не упоминается.

Как включить эти альтернативные правила?

Настройка существующего кода для прохождения правил по умолчанию невозможна, и простое отключение правил SA1101 и SA1309 работает, но также не является оптимальным.


person Klímačka    schedule 08.06.2017    source источник


Ответы (1)


Примерно так же, как и другие правила.

  1. Щелкните правой кнопкой мыши проект> свойства> анализ кода
  2. Вы должны увидеть набор правил, который в настоящее время используется в вашем проекте. Нажмите открыть
  3. Вы должны увидеть список правил, сгруппированных по семейству правил, например «Правила анализатора StyleCop», «Microsoft.CodeAnalysis.CSharp.Features» и т. д. Нужные правила находятся в разделе «Правила анализатора StyleCop».

Вы можете ускорить поиск, введя SX в поле фильтра.

Отфильтрованные правила

Проверьте свои правила, попробуйте собрать проект, и вы должны увидеть предупреждения/ошибки, где используется this.

person Max Venediktov    schedule 08.06.2017
comment
Потрясающий! Очевидно, я никогда там не был. Настройки по умолчанию работали из коробки, поэтому я даже не знал, что есть такие параметры конфигурации. Спасибо за быстрое решение! - person Klímačka; 08.06.2017
comment
А как насчет самого синтаксиса файла набора правил? - person Sergey Kostrukov; 11.01.2020