如何在Checkstyle中禁止对文件的所有检查?

2022-08-31 16:20:34

我正在为第三方类执行覆盖,并且我想禁止对它的所有检查(因为我只保留它直到补丁被接受)。

有没有办法禁止对文件的所有检查?

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


答案 1

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

<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>

“”属性的值基本上是源文件的正则表达式,而“”属性的值是要跳过的检查的正则表达式(“”基本上意味着跳过所有内容)。这是你要找的模式吧?fileschecks[a-zA-Z0-9]*


答案 2

我能够通过在检查中添加抑制注释Filter 标记来禁止显示文件中的检查.xml:

首先,我将FileContentHolder标签添加为TreeWalker标签的子级(自com.puppycrawl.tools:checkstyle的8.1版本以来不需要此步骤):

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

然后我在check中添加了PressucationCommentFilter.xml(从com.puppycrawl.tools:checkstyle的版本8.1开始 - 在“TreeWalker”节点下):

<module name="SuppressionCommentFilter"/>

在我想要禁止检查的每个文件中,我在文件的第一行插入了以下注释:

// CHECKSTYLE:OFF

推荐