2010-08-25 120 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