禁用特定C#类的所有stylecop警告

D J*_*D J 8 c# stylecop .net-4.5

我正在申请并开发几个类用于演示目的.我知道将来会删除这些类.

是否可以忽略这些类的所有stylecop警告,因为我不想花时间处理这些警告?

我搜索但发现我只能忽略通过stylecop中的设置(这也会影响其他类)或某些特定规则(我只想忽略所有警告).

Jon*_*Jon 21

你可以通过在顶部添加这个标题来诱骗StyleCop完全不处理文件:

//------------------------------------------------------------------------------
// <auto-generated>
// Well, not really. This is just a trick to get StyleCop off my back.
// </auto-generated>
//------------------------------------------------------------------------------
Run Code Online (Sandbox Code Playgroud)

  • @Tyler:在标题中粘贴说该文件是自动生成的并不能实现. (2认同)

Bar*_*cha 15

从StyleCop 4.4.0开始,还可以使用单个抑制属性来抑制规则命名空间中的所有规则.通过用单个星号替换规则CheckID和规则名称来指示这一点.以下代码示例禁止内部类中的所有StyleCop的默认文档规则.在这种情况下,StyleCop仍会标记违规,表明外部类缺少文档,但它会忽略内部类及其内容的所有文档规则.

public class OuterClass
{
    [SuppressMessage("StyleCop.CSharp.DocumentationRules", "*")]
    public class InnerClass
    {
        public void MyUndocumentedMethod
        {
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

http://stylecop.soyuz5.com/Suppressions.html


Jon*_*n G 13

感谢BartłomiejMucha我刚刚使用的答案.正如我发现的那样,"*"适用于特定规则,但您必须为每个类别添加抑制.这是完整的集合 - 如果将它们复制到类的顶部,您应该会发现所有StyleCop错误都被抑制:

[SuppressMessage("StyleCop.CSharp.NamingRules", "*", Justification = "Reviewed. Suppression is OK here.")]
[SuppressMessage("StyleCop.CSharp.LayoutRules", "*", Justification = "Reviewed. Suppression is OK here.")]
[SuppressMessage("StyleCop.CSharp.MaintainabilityRules", "*", Justification = "Reviewed. Suppression is OK here.")]
[SuppressMessage("StyleCop.CSharp.OrderingRules", "*", Justification = "Reviewed. Suppression is OK here.")]
[SuppressMessage("StyleCop.CSharp.ReadabilityRules", "*", Justification = "Reviewed. Suppression is OK here.")]
[SuppressMessage("StyleCop.CSharp.SpacingRules", "*", Justification = "Reviewed. Suppression is OK here.")]
[SuppressMessage("StyleCop.CSharp.DocumentationRules", "*", Justification = "Reviewed. Suppression is OK here.")]
internal class MyClass 
{
    // ...
}
Run Code Online (Sandbox Code Playgroud)