2010-08-25 79 views
15

我正在使用Eclipse的CheckStyle插件。如何在CheckStyle中抑制警告?

99%的时间找到我没有打算的东西很棒,但是我实际上有1%的时间打算故意违反规则,我想让CheckStyle知道它不需要关心它自己标记警告。

示例:缺少Javadoc注释规则。大多数时候我希望Javadoc评论我的方法。然而,一种方法,如:

public boolean isValid() { 
    return valid; 
} 

可能会得到没有一个。

是否有像@SuppressWarnings注释可用于将特定的CheckStyle规则违反标记为可接受?可能是某种特殊格式的评论?我不想禁用该规则,我只想忽略特定的违规行为。

(我认识到在这种情况下,我只能写Javadoc评论,但在其他情况下修复规则违规并不那么简单)。

+3

请参阅http://stackoverflow.com/questions/1704430/is-there-a-way-to-force-checkstyle-to-ignore-particular-warning-in-the-source-cod – 2010-08-25 12:43:15

+2

请参阅http:/ /stackoverflow.com/questions/4023185/how-to-disable-a-particular-checkstyle-rule-for-a-particular-line-of-code我认为其实更有用,因为接受的答案更清晰和更彻底 – chrisbunney 2011-12-20 10:44:40

回答

2

看起来很乏味,但需要明确的XML配置才能忽略它。您可能可以找到一个GUI,通过使用Eclipse或Netbeans的Checkstyle插件来完成它。我发现的例子是Checkstyle configuration页面。

<?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 checks="JavadocStyleCheck" 
       files="AbstractComplexityCheck.java" 
       lines="82,108-122"/> 
    <suppress checks="MagicNumberCheck" 
       files="JavadocStyleCheck.java" 
       lines="221"/> 
</suppressions> 
+10

我建议不要使用这种方法,因为引用的类中的后续更改会更改行号,从而导致维护噩梦。更好地更改我们想要捕捉或不捕捉全局警告的设置,或使用CHECKSTYLE:OFF/CHECKSTYLE:ON注释。 – stivlo 2011-08-25 13:46:06

2

合成指向Checkstyle配置页面。浏览它,我发现​​这似乎很有希望,除非我误解了它的目的...

5

PhiLho是正确的 - SuppressWithNebybyCommentFilter或SuppressionCommentFilter可以帮助。我配置了SuppressionCommentFilter并添加注释“CHECKSTYLE:OFF”和“CHECKSTYLE:ON”将暂时禁用检查样式。

+0

你可以添加一个如何使用这些评论的例子吗?他们是否只进入标准单行注释,他们可以使用多行注释工作,还是混合并匹配OFF和ON注释的注释类型? – chrisbunney 2011-12-20 10:40:58

+2

啊,没关系,我找到了这个答案:http://stackoverflow.com/a/4023351/110255 – chrisbunney 2011-12-20 10:45:14