在全局级别抑制StyleCop警告
本文关键字:StyleCop 警告 全局 | 更新日期: 2023-09-27 18:07:16
如何在解决方案中全局抑制StyleCop警告?
解决方案是使用Jenkins(持续构建和集成工具)持续构建的,并且它应用所有的StyleCop规则。解决方案使用TAB字符而不是4个空格,因为这是我的开发团队所采用的标准。因此,StlyeCop抛出了几个SA1027警告。
如何从Jenkins中删除SA1027警告?那也会有帮助的。
在每个c#文件上给出SuppressMessage看起来不太好。这就是为什么我在寻找一个全局抑制方法。
StyleCop不支持全局抑制规则的概念。它要求将SuppressMessage
属性放在给定的代码元素上。
来源分析博客(来源)
StyleCop不支持全局抑制或文件级抑制的概念。抑制符必须放在代码元素上。
一个选择是简单地关闭你不感兴趣的规则。这是首选的全局抑制方法。
似乎您可能需要更改StyleCop配置(设置),而不是全局禁用某些规则。StyleCop设置是"通过文件系统继承的",所以你可以在解决方案文件夹的级别上创建一个适当的设置文件。
对于特定的"制表符与空格"主题,您不仅可以关闭需要空格的StyleCop规则,还可以使用一些包含需要制表符的规则的StyleCop插件(如StyleCop+)。
VS2015 + StyleCop分析仪:
StyleCop.Settings
不再被使用,但是您仍然可以做JaredPar所说的并全局关闭特定警告。修改当前的规则集(在项目的Properties GUI> Code Analysis> Open下),并将更改保存为新规则集。
文件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>
找到.ruleset文件。(在解决方案项下或任何地方)将Action
更改为None
。
<Rule Id="SA1027" Action="None" />