35

有没有办法让 eclipse 停止擦除现有的换行符?如果我有这样的方法签名,我不知道如何让 eclipse 不理会它:

void foo(
    int arg1,
    int arg2,
    int arg3,
    int arg4)
{
    // ...
}

使用各种设置,它会将参数折叠到一行,或者将它们包装在一些边距,如下所示:

void foo(
    int arg1, int arg2,
    int arg3, int arg4)
{
    // ...
}

使用“将所有元素换行,每个元素都换行”它确实保留了这个空格,但它总是会换行,这不是我想要的。我希望 eclipse 为缩进和大括号等应用格式,而无需删除(或插入)任何换行符。

4

4 回答 4

35

参数的格式是一个古老的主题,但 3.5 中引入的一个新的格式功能是:

  • eclipse3.5M4 “保留用户换行符的格式化程序选项”

Java 代码格式化程序现在可以通过不加入代码或注释中的行来选择保留用户换行符。

例如,以下测试用例中的 return 语句的换行:

前
要格式化的代码示例

当使用“从不加入线”首选项时,格式化程序将保留它,现在产生以下结果:

后
从不加入行的编码格式

可以在Java > Code Style > Formatter首选项页面上配置此首选项。请参阅和选项卡Never join lines上的选项。Line WrappingComments

这可能会有所帮助,但除此之外,3.5 中这方面的新功能并不多。

于 2009-05-21T08:13:39.333 回答
21

当我在我的 Java 代码上使用 Eclipse 中的“格式”功能时,它倾向于在不同的地方拆分或破坏我的代码行,以确保内容始终适合特定的宽度。如果你有一个宽显示器,我发现这不是最佳的。我通过执行以下操作解决了这个问题:

在 eclipse 3.5 中,您可以打开首选项并搜索“格式”或从左侧菜单中选择Java -> Code Style -> Formatter 。默认配置文件称为“Eclipse [内置]”,如果您想更改 Java 格式化程序,您需要复制它并创建您自己的配置文件。这可以通过配置文件名称正下方的“新建”按钮来完成。

在 Eclipse 中创建自己的 Java 格式化程序后,请确保它已被选中并点击编辑按钮。这里有很多功能可以自定义,但为了解决换行问题,我选择了“换行”选项卡。在常规设置下,您将看到“最大线宽:”。该数值是格式化程序将使用的最大行长度。对于更大的显示器,例如180 个字符 ,我将我的尺寸提高到了一个更合理的尺寸。保存并应用它并返回到您的代码。

当您下次尝试格式化 java 文件时,只有当您超过新的最大大小时才会发生换行。

快乐编码!

于 2011-03-22T22:49:43.747 回答
10

您可以使用注释来指导格式化程序。

void foo( //
  int arg1, //
  int arg2, //
  int arg3, //
  int arg4)

将保留评论中的换行符。

于 2010-11-15T10:59:29.563 回答
6

Eclipse 3.5 支持这一点。(它在几天前发布了候选版本,因此值得一试)

于 2009-05-21T00:22:00.633 回答