Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
阻止eclipse换行?_Eclipse_Eclipse Formatter - Fatal编程技术网

阻止eclipse换行?

阻止eclipse换行?,eclipse,eclipse-formatter,Eclipse,Eclipse Formatter,有没有办法让eclipse停止擦除现有的换行符?如果我有这样一个方法签名,我不知道如何让eclipse不去管它: void foo( int arg1, int arg2, int arg3, int arg4) { // ... } 使用各种设置时,它会将参数向下折叠到一行,或将其在某些空白处包装,如下所示: void foo( int arg1, int arg2, int arg3, int arg4) { // ... }

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

void foo(
    int arg1,
    int arg2,
    int arg3,
    int arg4)
{
    // ...
}
使用各种设置时,它会将参数向下折叠到一行,或将其在某些空白处包装,如下所示:

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

使用“包装所有元素,每一个元素在一个新行”时,它确实保留了这个空白,但它将始终包装,这不是我想要的。我希望eclipse为缩进和大括号等应用格式,而不删除(或插入)任何换行符。

Eclipse3.5支持这一点。(几天前它击中了release candidate,因此可能值得一看)

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

  • “保留用户换行符的格式化程序选项”
Java代码格式化程序现在可以通过不在代码或注释中连接行来选择性地保留用户换行符

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


要格式化的代码示例

当使用“从不连接行”首选项时,将由格式化程序保留,现在生成以下结果:


使用从不连接行进行编码格式化

可以在
Java>code Style>Formatter
首选项页面上配置此首选项。请参见
换行
注释
选项卡上的
从不连接行
选项


这可能会有所帮助,但3.5在这方面没有太多新功能。

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

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

将保留注释处的换行符。

当我在Java代码中使用Eclipse中的“格式”功能时,它倾向于在不同的位置拆分或打断代码行,以确保内容始终适合某个宽度。我发现如果你有一个宽大的显示器,这就不是最理想的。我通过以下方式解决了这个问题:

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

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

下次尝试格式化java文件时,只有在大于新的最大大小时,才应该换行


快乐编码

我认为这将导致Eclipse将几行短的行合并成一行长的行,如果它们加起来少于180个字符。同样,在Formatter的属性内的tab
Comments
中,将注释的
最大线宽更改为与
最大线宽
相同的值也很有用。谢谢,它帮助我走出困境headach@Thorbjørnravandersen感谢您提及此事。幸运的是,这些照片很容易找到(例如)