我正在应用程序中开发几个类以供演示。我知道这些课程将来会被删除。禁用特定C#类的所有Stylecop警告
是否可以忽略这些类的所有stylecop警告,因为我不想花时间在这些警告上?
我搜索但发现我只能通过stylecop中的设置忽略(这也会影响其他类)或某些特定规则(我只是想忽略所有警告)。
我正在应用程序中开发几个类以供演示。我知道这些课程将来会被删除。禁用特定C#类的所有Stylecop警告
是否可以忽略这些类的所有stylecop警告,因为我不想花时间在这些警告上?
我搜索但发现我只能通过stylecop中的设置忽略(这也会影响其他类)或某些特定规则(我只是想忽略所有警告)。
从StyleCop 4.4.0开始,也可以使用单个抑制属性来抑制规则名称空间内的所有规则。这通过用单个星号替换规则CheckID和规则名称来指示。以下代码示例将取消内部类中所有StyleCop的默认文档规则。在这种情况下,StyleCop仍然会标记指示外部类缺少文档的违规,但它会忽略内部类及其内容的所有文档规则。
public class OuterClass
{
[SuppressMessage("StyleCop.CSharp.DocumentationRules", "*")]
public class InnerClass
{
public void MyUndocumentedMethod
{
}
}
}
您可以通过向代码块添加属性来抑制规则。下面是从下面链接的博客文章一类简单的例子,但你可以做到这一点对各个成员分别:
[SuppressMessage("Microsoft.StyleCop.CSharp.DocumentationRules", "SA1600:ElementsMustBeDocumented")]
public class MyUndocumentedClass
{
public void MyUndocumentedMethod {}
}
这只会压制SA1600。 –
你就可以欺骗了StyleCop到不加在上面这个报头处理一个文件,同时:
//------------------------------------------------------------------------------
// <auto-generated>
// Well, not really. This is just a trick to get StyleCop off my back.
// </auto-generated>
//------------------------------------------------------------------------------
如果你想防止了StyleCop来自一个文件运行时,可以将其标记排除使用在http://stylecop.codeplex.com/wikipage?title=Using%20StyleCop%20on%20Legacy%20Projects&referringTitle=Documentation提到ExcludeFromStyleCop属性的.csproj的文件。
感谢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
{
// ...
}
stylecop警告或错误? – daryal