我使用的是Visual Studio 2012 Express,因此无法访问VS的常规版本的集成。我使用了MSBuild to integrate StyleCop,规则显示为警告。我希望能够禁用规则。 Disabling StyleCop rules帖子显示这是可能的,但我无法理解编辑 Settings.StyleCop 文件的答案。但是,我不明白需要添加到此文件中以禁用规则。
如果我想禁用规则SA1649,我将如何更新以下文件?
<StyleCopSettings Version="4.3">
<GlobalSettings>
<CollectionProperty Name="DeprecatedWords">
<Value>preprocessor,pre-processor</Value>
<Value>shortlived,short-lived</Value>
</CollectionProperty>
</GlobalSettings>
<Parsers>
<Parser ParserId="StyleCop.CSharp.CsParser">
<ParserSettings>
<CollectionProperty Name="GeneratedFileFilters">
<Value>\.g\.cs$</Value>
<Value>\.generated\.cs$</Value>
<Value>\.g\.i\.cs$</Value>
</CollectionProperty>
</ParserSettings>
</Parser>
</Parsers>
<Analyzers>
<Analyzer AnalyzerId="StyleCop.CSharp.NamingRules">
<AnalyzerSettings>
<CollectionProperty Name="Hungarian">
<Value>as</Value>
<Value>do</Value>
<Value>id</Value>
<Value>if</Value>
<Value>in</Value>
<Value>is</Value>
<Value>my</Value>
<Value>no</Value>
<Value>on</Value>
<Value>to</Value>
<Value>ui</Value>
</CollectionProperty>
</AnalyzerSettings>
</Analyzer>
</Analyzers>
</StyleCopSettings>
注意:我使用的是版本4.7,即使默认设置文件显示为4.3
答案 0 :(得分:0)
我找到了edit a stylecop rule in the XML
的以下文档下面是XML代码段。
<StyleCopSettings Version="4.3">
<Analyzers>
<Analyzer AnalyzerId="Microsoft.StyleCop.CSharp.LayoutRules">
<Rules>
<Rule Name="StatementMustNotBeOnSingleLine">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
<Rule Name="ElementMustNotBeOnSingleLine">
<RuleSettings>
<BooleanProperty Name="Enabled">False</BooleanProperty>
</RuleSettings>
</Rule>
</Rules>
<AnalyzerSettings />
</Analyzer>
</Analyzers>
</StyleCopSettings>
此外,我还发现您可以将Settings.Sytlecop
文件拖到StyleCopSettingsEditor.exe
上,该{{1}}会显示启用和禁用规则的GUI。
答案 1 :(得分:0)
将以下代码粘贴到记事本中并另存为settings.StyleCop并将其放在解决方案文件夹中并构建
<StyleCopSettings Version="105">
<GlobalSettings>
<BooleanProperty Name="RulesEnabledByDefault">False</BooleanProperty>
</GlobalSettings>
</StyleCopSettings>