【问题标题】:Eclipse formatter inserts whitespace before method on linebreakEclipse 格式化程序在换行符的方法之前插入空格
【发布时间】:2013-10-14 17:58:38
【问题描述】:

使用 Eclipse Juno 我在使用 Java 代码格式化程序时遇到了以下问题:

如果方法调用导致换行,Eclipse 会在方法调用的“点”之前插入一个空格(_ 应表示空格)

int nbo = new Foo()//linebreak
    _.method();

不幸的是,这个空格会触发 Checkstyle 警告(NoWhitespaceBefore 规则)。是否有可能停止日食插入空白?还是 Checkstyle 配置问题?

提前感谢您的帮助。

【问题讨论】:

  • 嗨约翰,你试过我的方法了吗?它对你有用吗?

标签: java eclipse whitespace checkstyle


【解决方案1】:

您可以将最大线宽增加到 120 或更大的数字。

  1. 在菜单窗口 -> 首选项
  2. 导航到 Java -> 代码样式 -> 格式化程序
  3. 点击编辑按钮打开一个新对话框
  4. 换行选项卡上,更改最大线宽
  5. 最后,更改配置文件名并点击确定

【讨论】:

  • 很遗憾,此项目已预定义最大线宽,不得更改。
【解决方案2】:

您可以通过更改格式化程序设置或更改 Checkstyle 配置来解决此问题。

选项 1 - 格式化程序设置 (对于 Eclipse 4.3,但对于 Juno 应该相同)

  • 窗口 → 首选项 → Java → 代码样式 → 格式化程序 → 编辑
  • 换行 → 函数调用 → 限定调用
  • 设置为不换行

选项 2 - Checkstyle 配置

  • NoWhitespaceBefore 规则中删除 DOT 标记:
<module name="NoWhitespaceBefore">
    <property name="tokens" value="SEMI,POST_DEC,POST_INC"/>
</module>

【讨论】:

    猜你喜欢
    • 2012-12-03
    • 2017-11-05
    • 2020-05-10
    • 2019-09-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多