我正在研究checkstyle和eclipsecs插件。当我创建新的“检查”(通过打开新模块),我注意到他们有高级选项卡里面有一些奇怪的功能:id,注释,标记(除了自定义检查消息 - 很明显)。你可以在我的截图中看到。什么是Eclipse checkstyle插件中的高级模块选项卡?
我看过他们的文档,但还没有看到有关这些选项的任何解释。 你能为我解释一下吗?非常感谢你。
我正在研究checkstyle和eclipsecs插件。当我创建新的“检查”(通过打开新模块),我注意到他们有高级选项卡里面有一些奇怪的功能:id,注释,标记(除了自定义检查消息 - 很明显)。你可以在我的截图中看到。什么是Eclipse checkstyle插件中的高级模块选项卡?
我看过他们的文档,但还没有看到有关这些选项的任何解释。 你能为我解释一下吗?非常感谢你。
这些是Eclipse-CS可视化编辑器创建的checkstyle.xml中的可能属性。
支票可以被分配一个ID,它可以稍后用于指代它,例如,在某些情况下压制它。如果您对不同属性多次使用相同类型的支票,这很有用。 This answer给出了一个利用这个特性的例子。
评论是Eclipse-CS特有的元数据。这实际上只是一个保存为检查元数据的注释文本(metadata
元素)。但它仅由Eclipse checkstyle插件解释,它将在高级选项卡上再次显示。
翻译标记复选框添加自然语言(甚至可能是本地化)的描述到标记列表,如果这样的列表出现在选定的检查。在你的例子中,它不是,所以复选框对此检查没有影响(但它在其他人上,因为这是一个全局复选框!)。 以下是一些支持许多令牌的WhitespaceAround检查示例的屏幕截图。
排序还会影响将令牌写入生成的配置文件的顺序。排序似乎与这些令牌的数值有关。由于它们是内部的并且对我们的用户不可见,所以它似乎没有什么用处。例如:
不是 “排序”:
<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>
的例子。