Java 如何在“checkStyle自定义检查来自配置”框中添加自定义检查消息

Java 如何在“checkStyle自定义检查来自配置”框中添加自定义检查消息,java,eclipse-plugin,checkstyle,Java,Eclipse Plugin,Checkstyle,我正在将自定义检查添加为EclipseCS插件,但遇到了一个问题 我已经用自定义检查创建了java文件。检查正在运行,但我无法更改自定义检查消息,因为该框不存在 Java文件如下所示: package myCheck.checks; import com.puppycrawl.tools.checkstyle.api.Check; import com.puppycrawl.tools.checkstyle.api.DetailAST; import com.puppycrawl.tools.

我正在将自定义检查添加为EclipseCS插件,但遇到了一个问题

我已经用自定义检查创建了java文件。检查正在运行,但我无法更改自定义检查消息,因为该框不存在

Java文件如下所示:

package myCheck.checks;

import com.puppycrawl.tools.checkstyle.api.Check;
import com.puppycrawl.tools.checkstyle.api.DetailAST;
import com.puppycrawl.tools.checkstyle.api.TokenTypes;

public class MethodLimitCheck extends Check {

    private int max = 30;

    public int[] getDefaultTokens() {
        return new int[] { TokenTypes.CLASS_DEF, TokenTypes.INTERFACE_DEF };
    }

    public void setMax(int limit) {
        max = limit;
    }

    public void visitToken(DetailAST ast) {
        // find the OBJBLOCK node below the CLASS_DEF/INTERFACE_DEF
        DetailAST objBlock = ast.findFirstToken(TokenTypes.OBJBLOCK);
        // count the number of direct children of the OBJBLOCK
        // that are METHOD_DEFS
        int methodDefs = objBlock.getChildCount(TokenTypes.METHOD_DEF);
        // report error if limit is reached
        if (methodDefs > max) {
            log(ast.getLineNo(), "methodlimit", max);
        }
    }
}
配置框如下所示:

我无法从这里更改自定义邮件。我希望该框如下所示,以便可以从配置框中设置自定义消息:


在我的代码或任何文件中要做哪些更改才能使其正常工作

您只需将自定义消息添加到checkstyle.xml:


然后它将出现在EclipseCS对话框中。在您的检查中,您可以使用
getCustomMessages()
方法()访问自定义消息

更新: 为了在默认情况下在eclipse cs对话框中显示自定义消息,而不将
元素添加到checkstyle.xml中,必须为自定义检查创建messages.properties。然后,在包含自定义检查的Eclipse插件中,向checkstyle-metadata.xml添加一个元素:


...

我不能让它一开始就出现吗。我的意思是,如果我
删除复选框并再次添加
,那么我必须再次在xml文件中进行
更改
。首先可以在eclipse cs dialouge中获取
消息框