如何为相同类型的Checkstyle问题应用多个快速修复?

时间:2012-09-25 09:03:11

标签: java eclipse refactoring checkstyle

Eclipse Checkstyle插件提供了两种自动更正问题的方法:

  1. 右键单击单个源文件,然后选择“应用Checkstyle更正”。

  2. 右键单击问题标记,然后选择“快速修复”。

  3. 如果我选择相同类型的多个标记并尝试快速修复所有这些标记,Eclipse会说:

      

    所选问题没有常见的适用快速解决方法。

    我有办法以更有效的方式执行相同类型的多个Checkstyle修正吗?

    参阅相关问题:How can I easily fix Checkstyle errors?


    举个例子,请考虑以下代码:

    /**
     * Example to demonstrate check-style quick fix.
     */
    public final class CheckStyle {
    
      /**
       * Example constructor with no if braces.
       *
       * @param arg an argument
       */
      public CheckStyle(final String arg) {
        if (arg == null)
          throw new RuntimeException("Arg is null.");
    
        if (arg.isEmpty())
          throw new RuntimeException("Arg is empty.");
      }
    }
    

    根据Sun的checkstyle配置检查时,会收到三个错误:

    Checkstyle errors

    如果我选择与缺失大括号相关的两个错误并尝试快速修复它们,那么它将无效。

2 个答案:

答案 0 :(得分:4)

这里只是猜测,但我认为答案是向cs-eclipse插件团队提交错误/功能请求。 Eclipse给你的消息似乎表明它是一个需要由开发人员处理的特殊情况。

如果您确实提交了机票,请告诉我们。我想看一下。我认为这将是一个有用的功能。

答案 1 :(得分:0)

自5.6.1版以来,此功能现在可在eclipse-cs中使用。我刚用5.7.0(最新版本)进行了测试,并证实它有效。

供参考,original bug report就在这里。该版本的the release notes中未显示该功能,但这是由于遗漏(请参阅错误报告中的注释)。