Подавление предупреждений StyleCop на глобальном уровне - PullRequest
5 голосов
/ 30 августа 2011

Как подавить предупреждения StyleCop глобально в решении?

Решение постоянно создается с использованием Jenkins (инструмент непрерывной сборки и интеграции), и оно применяет все правила StyleCop.Решение использует символ табуляции вместо 4 пробелов, так как это стандарт, принятый моей командой разработчиков.Из-за этого StlyeCop генерирует несколько предупреждений SA1027.

Как удалить предупреждение SA1027 из Jenkins?Это также поможет.

Предоставление сообщения SuppressMessage для каждого файла C # выглядит не очень хорошо.Вот почему я ищу подход глобального подавления.

Ответы [ 5 ]

4 голосов
/ 30 августа 2011

Кажется, что вам, вероятно, нужно изменить конфигурацию (настройки) StyleCop, чем подавлять некоторые правила в глобальном масштабе. Настройки StyleCop «наследуются через файловую систему», поэтому вы можете просто создать соответствующий файл настроек на уровне папки вашего решения.

Что касается вашей конкретной темы "табуляции и пробелов", вы можете не только отключить правила StyleCop, которые требуют пробелов, но также использовать некоторые плагины StyleCop (например, StyleCop +), которые содержат правила, требующие вкладок.

3 голосов
/ 30 августа 2011

StyleCop не поддерживает понятие глобального подавления правила.Требуется, чтобы атрибут SuppressMessage был помещен в данный элемент кода.

Из блога анализа источников ( Источник )

StyleCop не поддерживает понятие глобальных подавлений или подавлений на уровне файлов.Подавления должны быть помещены в элемент кода.

Один из вариантов - просто отключить правила, которые вас не интересуют. Это предпочтительный метод глобального подавления.

1 голос
/ 05 октября 2015

VS2015 + Анализаторы StyleCop:

StyleCop.Settings больше не привыкает, но вы все равно можете делать то, что сказал JaredPar, и отключать определенные предупреждения во всем мире. Сделайте это, изменив свой текущий набор правил (в графическом интерфейсе свойств проекта> Анализ кода> Открыть ) и сохранив изменения как новый набор правил.

0 голосов
/ 07 декабря 2018

Найдите файл .ruleset. (в разделе «Решения» или где бы то ни было) Измените значение Action на None.

<Rule Id="SA1027" Action="None" />
0 голосов
/ 28 июля 2015

Файл Settings.StyleCop должен содержать:

<StyleCopSettings Version="105">
  <Analyzers>
    <Analyzer AnalyzerId="StyleCop.CSharp.SpacingRules">
      <Rules>
        <Rule Name="TabsMustNotBeUsed">
          <RuleSettings>
            <BooleanProperty Name="Enabled">False</BooleanProperty>
          </RuleSettings>
        </Rule>
      </Rules>
      <AnalyzerSettings />
    </Analyzer>
  </Analyzers>
</StyleCopSettings>
...