关于 c#:StyleCop 抑制

StyleCop Suppression

是否可以在更全局的内容中抑制 StyleCop 规则...换句话说,不只是使用源内联属性?


您可以使用 Settings.StyleCop 文件禁用某些 stylecop 规则。例如,stylecop 中的某些内容不符合我们的标准。例如,在我的 Settings.StyleCop 文件中,我们有:

1
2
3
4
5
6
7
8
9
10
<Analyzer AnalyzerId="Microsoft.StyleCop.CSharp.ReadabilityRules">
  <Rules>
    <Rule Name="PrefixLocalCallsWithThis">
      <RuleSettings>
        <BooleanProperty Name="Enabled">False</BooleanProperty>
      </RuleSettings>
    </Rule>
  </Rules>
  <AnalyzerSettings />
</Analyzer>

这样,在成员变量或属性上,我们不必对每个变量或属性都使用"this."。


绝对!

源属性只应在极少数情况下使用,绝大多数 StyleCop 配置应通过 StyleCopSettingsEditor 完成(右键单击项目,选择"StyleCop 设置",将打开一个向上)。

这将在项目目录中为该项目创建一个 Settings.StyleCop 文件。正如其他答案提到的那样,该文件可以手动编辑,但我绝不建议在编辑器中破解 XML。 StyleCopSettingsEditor 绝对是要走的路。

修改 StyleCop 设置后,您还没有完成!
这些设置只适用于那个项目,这可能是不够的。
我个人建议将该 StyleCop.Settings 文件向上移动一个目录到解决方案级别并将其添加为"解决方案项目"。然后将该文件签入 TFS(或您正在使用的任何源代码控制系统)。现在,这些 StyleCop 设置已成为整个解决方案的一部分,每个人在执行"获取最新"时都会得到它们。如有必要,您可以使用项目设置覆盖解决方案设置(项目级别的 StyleCop.Settings 文件将覆盖解决方案级别的文件)。

使您的 StyleCop 设置更加全局化的唯一方法是将它们在目录树中向上移动(如果您使用 TFS,则向上移动到团队项目级别,因为在解决方案中执行 GetLatest 是不可靠的level 不会将它们分发给每个人),或者覆盖 StyleCop 安装目录中的 Settings.StyleCop 文件(更不可靠,因为它不能由源代码控制处理,而是必须通过电子邮件发送给每个人或某事) .

总体而言,有很多方法可以让您的团队的特定 StyleCop 设置如您所愿,您有很多选择。