2016-12-05 57 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> 

的例子。

相关问题