【问题标题】:Checkstyle length check for import statements导入语句的 Checkstyle 长度检查
【发布时间】:2023-03-11 17:58:01
【问题描述】:

如果在导入语句中抛出“行超过 80 个字符”,如何消除 checkstyle 违规?

【问题讨论】:

  • 一种解决方法是用 //CHECKSTYLE:OFF ...imports... /CHECKSTYLE:ON 包围导入块。
  • @MarkoTopolnik:谈到美学问题,checkstyle 的真正目的是拥有一个漂亮的代码,(哇编码和美丽)。添加标签会破坏目的。
  • 不是我的经验; checkstyle 为您提供布尔什维克代码,所有代码都直截了当。而且我从来没有设法在没有标签的情况下使用它。

标签: java eclipse checkstyle


【解决方案1】:

删除:

<module name="LineLength">
    <property name="max" value="80"/>
</module>

来自您的 checkstyle 配置。

编辑:

仅对导入禁用它:

<module name="LineLength">
   <property name="ignorePattern" value="someRegex"/>
</module>

您必须在value 属性中提供查找以import 开头的行的正则表达式。我不太擅长正则表达式,所以您需要自己计算正则表达式。

像:...value="^import"... 这样的正则表达式应该可以工作。但未经测试。

【讨论】:

  • 这会为所有语句删除它,而不仅仅是 import 语句?
  • @PauliusMatulionis:这将从所有语句中删除它。请推荐一些精明的东西
  • 同样,从您的项目中删除 Checkstyle。
  • @PauliusMatulionis:为此我必须更改我的 checkstyle 文件。是不是没有办法打破导入文件名,就像我们用 if 或 String...
【解决方案2】:

要从检查中排除importpackage 语句,您可以应用以下配置:

<module name="LineLength">
    <property name="max" value="80" />
    <property name="ignorePattern" value="^(package|import) .*"/>
</module>

来源:https://checkstyle.org/config_sizes.html#LineLength_Examples

或者您可以按照 Marko 的建议应用标签(但更推荐第一个选项):

// CHECKSTYLE:OFF
import ...
// CHECKSTYLE:ON

【讨论】:

    【解决方案3】:

    我想在 Paulius Matulionis 的回答中添加一些附加信息。 如果你使用默认的 Checkstyle 规则,你可以通过进入你的 Idea 目录找到 checkstyle 配置文件:

    %HOMEPATH%.IdeaIC2017.1\config\plugins\CheckStyle-IDEA\classes\sun_checks.xml

    文件夹名称“.IdeaIC2017.1”可能会有所不同,具体取决于您使用的 Idea 版本。

    另外,你可以在Idea的"Settings"找到你的配置文件名

    【讨论】:

      猜你喜欢
      • 2018-08-11
      • 1970-01-01
      • 2014-03-12
      • 2012-08-23
      • 2017-10-19
      • 1970-01-01
      • 2021-12-21
      • 2015-02-23
      • 2011-11-19
      相关资源
      最近更新 更多