禁用StyleCop规则


76

我正在使用StyleCop。但是我想忽略一些规则,例如this.在类成员面前使用。

如何关闭StyleCop规则。我看过了,但是找不到如何做。

Answers:


80

在您的StyleCop安装中,有一个Settings.StyleCop文件。您可以编辑此选项以全局关闭规则。将该文件拖到该文件的“设置编辑器”可执行文件中以对其进行编辑。

您还可以将设置文件的副本放入项目中,以覆盖全局设置。

如果您使用的是Visual Studio集成而不是MSBuild集成,则应该可以通过右键单击您的项目并选择StyleCop Settings诸如此类之类的内容,按项目进入设置编辑器。


该设置文件在哪里?如果您还安装了共享工具,这是否适用?
战争

对于4.7版,它是C:\Program Files (x86)\StyleCop 4.7\Settings.StyleCop。ReSharper集成也将在此处查找(以及在您的项目中查找所有覆盖的设置文件)
bdukes 2012年

啊,谢谢:) ...当我有100多个项目时,我很烦恼,我需要为所有项目关闭1条规则。
战争

4
@Wardy如果在同一解决方案中拥有所有内容,则可以将Settings.StyleCop文件与文件放在同一目录中.sln
JAIL

4
@Harrison,您是否尝试过在Settings.StyleCop文件上使用StyleCopSettingsEditor.exe,而不是手动编辑它?它在C:\Program Files (x86)\StyleCop 4.7
bdukes

10

Stylecop可在项目级别进行配置。使用图形界面而不是编辑设置文件即可轻松管理规则。(某些版本有时称为Stylecop设置)

选择设置选项后,您应该会看到一个搜索/查找选项,如下图所示。

例如:如果要删除规则//不允许注释和////被stylecop允许的规则,请搜索stylecop规则ID。在这种情况下,它是SA1005。在项目中运行stylecop时,可以在警告部分中看到此内容。用关键字SA1005查找,您应该在结果部分中看到该内容。只需取消选中即可。

在此处输入图片说明

您可以按以下方式管理规则

在此处输入图片说明


我认为您可以通过这种方式设置一个csproj,然后将Settings.StyleCop文件“移动”到更高的文件夹中(例如.. \ ..),它将应用于该文件夹中/该文件夹下的所有内容。
granadaCoder

(重复其他答案的评论,但有助于防止额外的工作):::额外提示。如果您具有\ root \ Pres \ Pres.csproj,\ root \ Bal \ Bal.csproj,\ root \ Dal \ Dal.csproj和\ root \ Solutions \ MySolution.sln等目录结构,则可以右键单击任何项目……创建规则……(例如,\ root \ Bal \ Settings.StyleCop),但是您可以手动将该文件移动到\ root \ Settings.StyleCop......。 ...对于整个\ root \(也就是整个解决方案),它将是“全局”的。
granadaCoder

6

该特定规则在“可读性规则-成员访问-SA1101:PrefixLocalCallsWithThis”下。

如果您关闭它,它应该停止对您尖叫...我必须这样做。Stylecop一直让我头疼。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.