【问题标题】:What is Advanced module tab in Eclipse checkstyle plugin used for?Eclipse checkstyle 插件中的高级模块选项卡是做什么用的?
【发布时间】:2017-04-19 09:39:11
【问题描述】:

我正在研究 checkstyle 和 eclipsecs 插件。当我创建新的“检查”(通过打开新模块)时,我注意到他们有高级选项卡,里面有一些奇怪的功能:id、cmets、令牌(自定义检查消息除外——很明显)。你可以在我的截图中看到。

我确实阅读了他们的文档,但没有看到有关这些选项的任何解释。 你能帮我解释一下吗?非常感谢。

【问题讨论】:

    标签: eclipse-plugin checkstyle


    【解决方案1】:

    这些是 Eclipse-CS 可视化编辑器正在创建的 checkstyle.xml 中可能的属性。

    可以为支票分配一个 ID,以后可以使用它来引用它,例如在某些情况下压制它时。如果您多次使用具有不同属性的相同类型的检查,这将很有用。 This answer 给出了一个利用这个特性的例子。

    comment 是 Eclipse-CS 特定的元数据。它实际上只是一个注释文本,保存为检查元数据(metadata 元素)。但它仅由 Eclipse checkstyle 插件解释,并在高级选项卡上再次显示。

    翻译 tokens 复选框会在标记列表中添加自然语言(甚至可能是本地化)描述,如果所选检查中存在此类列表。在您的示例中,它不是,因此该复选框对此检查没有影响(但对其他人有效,因为该复选框是全局复选框!)。 以下是一些带有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>
    

    “排序”:

    <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>
    

    这些示例是使用 Eclipse-CS 6.14.0 创建的。

    【讨论】:

      猜你喜欢
      • 2019-08-23
      • 2013-05-09
      • 2011-12-12
      • 2011-03-28
      • 1970-01-01
      • 2011-04-28
      • 2019-08-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多