2010-01-22 3 views
5

Можно ли запретить правила StyleCop в более глобальном, что ... другими словами, не просто использовать исходные атрибуты в строке?StyleCop Suppression

ответ

8

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

<Analyzer AnalyzerId="Microsoft.StyleCop.CSharp.ReadabilityRules"> 
    <Rules> 
    <Rule Name="PrefixLocalCallsWithThis"> 
     <RuleSettings> 
     <BooleanProperty Name="Enabled">False</BooleanProperty> 
     </RuleSettings> 
    </Rule> 
    </Rules> 
    <AnalyzerSettings /> 
</Analyzer> 

Такое, что на переменной-члена или собственности, мы не должны иметь «это.» для каждого.

+0

И почему я не понимаю, почему? – McAden

+0

' False' должен быть самым глупым xml, который я когда-либо видел. –

+0

' True' – McAden

2

Абсолютно!

Исходные атрибуты должны использоваться только в самых редких обстоятельствах, подавляющее большинство настроек StyleCop должно выполняться с помощью StyleCopSettingsEditor (щелкните правой кнопкой мыши по проекту, выберите «Настройки StyleCop», который откроет один) ,

Это создаст файл Settings.StyleCop для этого проекта в каталоге проекта. Этот файл можно редактировать вручную, как упоминает другой ответ, но я бы никогда не предложил взломать XML в редакторе. StyleCopSettingsEditor - это, безусловно, путь.

Как только вы изменили настройки StyleCop, вы не закончили!
Эти настройки применимы только к одному проекту, и это определенно может быть недостаточным.
Я лично предлагаю переместить этот файл StyleCop.Settings в один каталог на уровень решения и добавить его как «элемент решения». Затем проверьте этот файл на TFS (или на любую используемую вами систему управления версиями). Теперь эти настройки StyleCop являются частью всего решения, и каждый получит их, когда они сделают «Получить последний». При необходимости вы можете переопределить параметры решения с помощью параметров проекта (файл StyleCop.Settings на уровне проекта переопределит один на уровне решения).

Единственный способ сделать ваши настройки StyleCop более глобальными, чем это - либо повысить их еще выше в дереве каталогов (до уровня Team Project, если вы используете TFS, ненадежны, так как делают GetLatest при решении уровень не будет распространять их для всех) или перезаписать файл Settings.StyleCop в установочном каталоге StyleCop (еще более ненадежный, поскольку он не может быть обработан с помощью элемента управления исходным кодом и вместо этого должен быть отправлен по электронной почте всем или чему-то).

В целом есть определенные способы сделать определенные настройки StyleCop для вашей команды глобальными, как вы хотите, у вас есть много вариантов.