繁体   English   中英

如何使用自定义检查来自eclipse的checkStyle:没有maven?

[英]How to use custom check in checkStyle from eclipse : without maven?

我正在尝试编写自定义检查并从Eclipse中使用它。

我为此编写了一个MethodLimitCheck.java和一个myChecker.xml文件。


java文件: MethodLimitCheck.java

package myCheck;

import com.puppycrawl.tools.checkstyle.api.*;

public class MethodLimitCheck extends Check
{
    private static final int DEFAULT_MAX = 10;
    private int max = DEFAULT_MAX;

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

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

    @Override
    public void visitToken(DetailAST ast)
    {
        DetailAST objBlock = ast.findFirstToken(TokenTypes.OBJBLOCK);

        int methodDefs = objBlock.getChildCount(TokenTypes.METHOD_DEF);

        if (methodDefs > this.max) 
        {
            log(ast.getLineNo(),
                    "too many methods, only " + this.max + " are allowed");
        }
    }
}

和xml文件: myChecker.xml

<?xml version="1.0"?>
<!DOCTYPE module PUBLIC
    "-//Puppy Crawl//DTD Check Configuration 1.3//EN"
    "http://www.puppycrawl.com/dtds/configuration_1_3.dtd">
<module name="Checker">
  <module name="TreeWalker">
    <module name="myCheckStyle.MethodLimitCheck">
      <property name="max" value="5" />
    </module>
  </module>
</module>

我怎么能在eclipse中使用这个检查?

我从CheckStyle网站上看了这个例子。 但是如何在Eclipse中使用它?

我需要在eclipse中获取警告,就像我使用可用的检查并形成自定义配置一样,可以在project->property->checkStyle

我是这个工具的新手,所以如果我遗漏了一些基本的东西,请纠正我。

你需要eclipse-cs插件。 它将checkstyle与eclipse集成,并允许提供自定义检查。 另外,看看sevntu.checkstyle 它是eclipse-cs插件的扩展。 Sevntu.checkstyle添加了许多有用的检查,并允许附加自己的检查(请参阅github上的wiki)。 也许它包含你需要的支票。

你必须基本上编写自己的小Eclipse插件来做到这一点。 当插件工作时,您将在eclipse-cs提供的Checkstyle对话框中看到自定义检查。

这是一个关于如何通过eclipse-cs文档提供礼貌的教程 还有示例代码。

一旦完成,整个过程似乎很简单。 但请耐心等待,如果您是Eclipse插件的新手,可能需要一整天才能真正掌握这一点。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM