是否可以在更全局的内容中抑制 StyleCop 规则......换句话说,不仅仅是使用源内联属性?
2 回答
您可以使用 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”。为每一个人。
绝对地!
源属性只应在极少数情况下使用,绝大多数 StyleCop 配置应通过 StyleCopSettingsEditor 完成(右键单击项目,选择“StyleCop 设置”,将打开一个)。
这将在项目目录中为该项目创建一个 Settings.StyleCop 文件。正如其他答案提到的那样,该文件可以手动编辑,但我绝不建议在编辑器中破解 XML。StyleCopSettingsEditor 绝对是要走的路。
修改 StyleCop 设置后,您还没有完成!
这些设置只适用于那个项目,这可能是不够的。
我个人建议将该 StyleCop.Settings 文件上移一个目录到解决方案级别并将其添加为“解决方案项”。然后将该文件签入 TFS(或您正在使用的任何源代码控制系统)。现在,这些 StyleCop 设置是整个解决方案的一部分,每个人都会在执行“获取最新”时得到它们。如有必要,您可以使用项目设置覆盖解决方案设置(项目级别的 StyleCop.Settings 文件将覆盖解决方案级别的一个)。
使您的 StyleCop 设置比这更全局化的唯一方法是将它们在目录树中向上移动(如果您使用 TFS,则向上移动到团队项目级别,因为在解决方案级别执行 GetLatest 不会可靠分发给所有人),或者覆盖 StyleCop 安装目录中的 Settings.StyleCop 文件(更不可靠,因为源代码管理无法处理,而是必须通过电子邮件发送给所有人或其他人)。
总体而言,肯定有多种方法可以根据需要为您的团队制作特定的 StyleCop 设置,您有很多选择。