5

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

4

2 回答 2

8

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

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

这样在成员变量或属性上我们就不必有“this”。为每一个人。

于 2010-01-22T19:06:55.333 回答
2

绝对地!

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

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

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

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

总体而言,肯定有多种方法可以根据需要为您的团队制作特定的 StyleCop 设置,您有很多选择。

于 2010-03-04T21:57:43.070 回答