abe*_*t80 60
不知道你是在使用命令行还是在IDE中,但你基本上需要一个suppresions文件.如果您手动编辑Checkstyle配置文件,请向其添加新模块:
<module name="SuppressionFilter">
<property name="file" value="mysuppressions.xml" />
</module>
Run Code Online (Sandbox Code Playgroud)
你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>
Run Code Online (Sandbox Code Playgroud)
" files"属性的值基本上是源文件的正则表达式," checks"属性的值是用于跳过哪些检查的正则表达式(" [a-zA-Z0-9]*"基本上意味着跳过所有内容).这是你想要的模式吗?
Alc*_*sta 24
我可以通过在checks.xml中添加SuppressionCommentFilter标记来抑制文件中的检查:
首先,我添加了FileContentHolder标签作为TreeWalker标签的孩子(这一步是没有必要的,因为com.puppycrawl.tools:checkstyle版本8.1):
<module name="TreeWalker">
...
<module name="FileContentsHolder"/>
...
</module>
Run Code Online (Sandbox Code Playgroud)
然后我在checks.xml中添加了SuppressionCommentFilter(从com.puppycrawl.tools:checkstyle版本8.1开始 - 在"TreeWalker"节点下):
<module name="SuppressionCommentFilter"/>
Run Code Online (Sandbox Code Playgroud)
在我想要抑制检查的每个文件中,我在文件的第一行插入了以下注释:
// CHECKSTYLE:OFF
Run Code Online (Sandbox Code Playgroud)
小智 17
aberrant80的回答很有帮助.在他的提示的帮助下 - 使用正则表达式模式匹配,我还能够通过将其添加到checkstyle-suppressions.xml文件来抑制整个包的checkstyle.例如.跳过jaxb包下所有自动生成的java文件的checkstyle检查,
<suppressions>
<suppress checks="[a-zA-Z0-9]*" files="[\\/]jaxb[\\/]" />
</suppressions>
Run Code Online (Sandbox Code Playgroud)
如果您正在使用Checkstyle的Checkclipse Eclipse插件,则可以通过转到项目属性下的Checkclipse>文件过滤器选项卡来包含或排除文件模式(包括目录).例如,我的项目包含顶级的src和测试目录.我希望Checkstyle只应用于src目录中的文件(省略测试),所以我添加了一个如下所示的包含模式:
src/.+java$
Run Code Online (Sandbox Code Playgroud)
如您所见,它使用正则表达式样式进行模式规范.
| 归档时间: |
|
| 查看次数: |
53421 次 |
| 最近记录: |