如何在Checkstyle中取消对文件的所有检查?

我正在做一个第三方类的覆盖,我想压制所有的检查(因为我只是保持它,直到补丁被接受)。

有没有办法抑制一个文件的所有检查?

我尝试使用“*”,但失败。

不知道你使用的是命令行还是IDE,但是你基本上需要一个suppresions文件。 如果您手动编辑Checkstyleconfiguration文件,请为其添加一个新模块:

<module name="SuppressionFilter"> <property name="file" value="mysuppressions.xml" /> </module> 

你的mysuppression.xml可以是这样的:

 <?xml version="1.0"?> <!DOCTYPE suppressions PUBLIC "-//Puppy Crawl//DTD Suppressions 1.1//EN" "http://www.puppycrawl.com/dtds/suppressions_1_1.dtd"> <suppressions> <suppress files="TheClassToIgnore\.java" checks="[a-zA-Z0-9]*"/> </suppressions> 

files ”属性的值基本上是源文件的正则expression式,“ checks ”属性的值是正则expression式,用于检查跳过的内容(“ [a-zA-Z0-9]* ”基本上是指跳过所有内容) 。 这是你正在寻找的模式,我猜?

我能够在我的checks.xml文件中添加SuppressionCommentFilter标签来压制检查:

首先,我将FileContentHolder标签添加为TreeWalker标签的子项:

 <module name="TreeWalker"> ... <module name="FileContentsHolder"/> ... </module> 

然后我在checks.xml中添加了SuppressionCommentFilter:

 <module name="SuppressionCommentFilter"/> 

在每个我想压制检查的文件中,我在文件的第一行插入了下面的注释:

 // CHECKSTYLE:OFF 

exception80的答案帮了很多。 借助他的暗示 – 使用正则expression式模式匹配,我还能够通过将这个添加到checkstyle-suppressions.xml文件中来抑制整个包的checkstyle。 例如。 跳过所有在jaxb包下自动生成的java文件的checkstyle检查,

  <suppressions> <suppress checks="[a-zA-Z0-9]*" files="[\\/]jaxb[\\/]" /> </suppressions> 

如果您将Checkclipse Eclipse插件用于Checkstyle,则可以通过转到项目属性下的Checkclipse> File Filter选项卡来包含或排除文件模式(包括目录)。 例如,我的项目包含顶层的srctesting目录。 我希望Checkstyle只应用于src目录中的文件(省略testing ),所以我添加了一个如下的include模式:

 src/.+java$ 

正如你所看到的,它使用正则expression式式样的语法来指定模式。

有一个选项可以忽略写保护的文件。 或包中的文件。

如果您希望在检查的项目中没有一组文件,则可以过滤这些文件,以便通过创build文件filter来检查这些文件

文件filter使用正则expression式来确定要排除的文件。 正则expression式运行在完整的文件名上 – 正因为如此,你也可以排除整个文件夹。 在这种情况下,如果您愿意,您可以排除整个包裹。

如果你有一点谷歌 – 你可能会find一些Checkstyleconfiguration属性文件,有你想要的东西的例子。 我build议你这样做之后 – 将它保存为一个模板,以便将来可以参考它