Eclipse代码格式化程序:不要在方法调用上换行

时间:2012-11-15 11:19:33

标签: eclipse code-formatting

我正在尝试Eclipse自动格式化程序,但我无法根据自己的喜好找到合适的格式选项。

当我有这样的一行时:

MyLongNameClass myLongNameObject = otherObject.callAVeryLongMethodWithParameters(param1, param2, param3)

Eclipse自动格式化程序以这种方式包装它:

MyLongNameClass myLongNameObject = otherObject
    .callAVeryLongMethodWithParameters(param1, param2, param3)

我希望得到这样的结果:

MyLongNameClass myLongNameObject = 
    otherObject.callAVeryLongMethodWithParameters(
        param1, param2, param3)

将对象和方法访问器保持在同一行,并避免使用“。”开始新行。这可能吗?这有选择吗?

2 个答案:

答案 0 :(得分:1)

我不确定你是否真的可以做你想做的事,但这可能会让你接近:

在日食火星中:

转到Window -> Preferences -> Java -> Code Style -> Formatter

使用New...按钮根据其中一个内置插件创建自己的个人资料。默认情况下,这将带您进入编辑窗口。如果您已经设置了要更改的格式化程序,请选择它并使用Edit...按钮。

在配置文件编辑窗口中,执行以下操作:

  • 选择Line Wrapping标签
  • 在左侧滚动框中,转到Function Calls -> Qualified invocations
  • Settings for qualified invocations区域中选择Do not wrap
  • 在左侧滚动框中,转到Function Calls -> Arguments
  • 在参数设置中选择Wrap first element, others where necessary,然后选择Indent by one

您可以通过在预览窗口中调整线宽来测试这些设置。

我知道这是一个迟到的提交,但我希望它可以帮助其他人搜索相同的功能。

答案 1 :(得分:-1)

转到Windows -> Preferences -> Java -> Code style -> Formatter

您可以使用自定义格式创建自己的个人资料,也可以修改现有的格式化程序。

Edit -> Line Wrapping

探索换行并相应更改。