2016-12-05 69 views
1

我正在研究checkstyle和eclipsecs插件。當我創建新的「檢查」(通過打開新模塊),我注意到他們有高級選項卡里面有一些奇怪的功能:id,註釋,標記(除了自定義檢查消息 - 很明顯)。你可以在我的截圖中看到。什麼是Eclipse checkstyle插件中的高級模塊選項卡?

Checkstyle Advanced tab

我看過他們的文檔,但還沒有看到有關這些選項的任何解釋。 你能爲我解釋一下嗎?非常感謝你。

回答

0

這些是Eclipse-CS可視化編輯器創建的checkstyle.xml中的可能屬性。

支票可以被分配一個ID,它可以稍後用於指代它,例如,在某些情況下壓制它。如果您對不同屬性多次使用相同類型的支票,這很有用。 This answer給出了一個利用這個特性的例子。

評論是Eclipse-CS特有的元數據。這實際上只是一個保存爲檢查元數據的註釋文本(metadata元素)。但它僅由Eclipse checkstyle插件解釋,它將在高級選項卡上再次顯示。

翻譯標記複選框添加自然語言(甚至可能是本地化)的描述到標記列表,如果這樣的列表出現在選定的檢查。在你的例子中,它不是,所以複選框對此檢查沒有影響(但它在其他人上,因爲這是一個全局複選框!)。 以下是一些支持許多令牌的WhitespaceAround檢查示例的屏幕截圖。

令牌列表 「原始」(無翻譯或排序): tokens1

令牌列表 「翻譯」: tokens2

令牌列表 「翻譯」 和 「分類」: enter image description here

排序還會影響將令牌寫入生成的配置文件的順序。排序似乎與這些令牌的數值有關。由於它們是內部的並且對我們的用戶不可見,所以它似乎沒有什麼用處。例如:

不是 「排序」:

<module name="WhitespaceAround"> 
    <property name="tokens" value="ASSIGN,BAND,BAND_ASSIGN,BOR,BOR_ASSIGN,BSR,BSR_ASSIGN,BXOR, 
    BXOR_ASSIGN,COLON,DIV,DIV_ASSIGN,DO_WHILE,EQUAL,GE,GT,LAND,LCURLY,LE,LITERAL_ASSERT, 
    LITERAL_CATCH,LITERAL_DO,LITERAL_ELSE,LITERAL_FINALLY,LITERAL_FOR,LITERAL_IF, 
    LITERAL_RETURN,LITERAL_SYNCHRONIZED,LITERAL_TRY,LITERAL_WHILE,LOR,LT,MINUS,MINUS_ASSIGN, 
    MOD,MOD_ASSIGN,NOT_EQUAL,PLUS,PLUS_ASSIGN,QUESTION,RCURLY,SL,SLIST,SL_ASSIGN,SR, 
    SR_ASSIGN,STAR,STAR_ASSIGN,TYPE_EXTENSION_AND,WILDCARD_TYPE,GENERIC_START,GENERIC_END"/> 
</module> 

「排序」:用Eclipse-CS 6.14.0創建

<module name="WhitespaceAround"> 
    <property name="tokens" value="COLON,NOT_EQUAL,QUESTION,DIV,DIV_ASSIGN,BXOR,BXOR_ASSIGN, 
    MINUS,LCURLY,RCURLY,STAR,STAR_ASSIGN,TYPE_EXTENSION_AND,BAND,LAND,BAND_ASSIGN,MOD, 
    MOD_ASSIGN,PLUS,PLUS_ASSIGN,LT,GENERIC_START,SL,SL_ASSIGN,LE,ASSIGN,MINUS_ASSIGN, 
    EQUAL,GENERIC_END,GT,GE,SR,SR_ASSIGN,BSR,BSR_ASSIGN,BOR,BOR_ASSIGN,LOR,LITERAL_ASSERT, 
    LITERAL_CATCH,LITERAL_DO,LITERAL_ELSE,LITERAL_FINALLY,LITERAL_FOR,LITERAL_IF,DO_WHILE, 
    LITERAL_RETURN,SLIST,LITERAL_SYNCHRONIZED,LITERAL_TRY,WILDCARD_TYPE,LITERAL_WHILE"/> 
</module> 

的例子。

相關問題