带有实例调用的方法调用的 intellij 格式化程序换行

intellij formatter line wrap for method call with instance calling

我已经开始使用 Intellij(之前使用过 Eclipse),但我似乎无法模仿 eclipse 格式

Eclipse Code Formatter 插件完成了大部分工作,但仍存在一些差异。

例如:

原文:

object.add(new ClassForSomething(param1, param2, paramObj.method()));

使用 IntelliJ 格式:

object.add(new ClassForSomething(param1, param2, paramObj
          .method()));

使用 Eclipse 格式:

object.add(new ClassForSomething(param1, param2, 
          paramObj.method()));

在哪里可以找到将我的 intelliJ 格式化程序调整为我以前在 eclipse 上的配置的配置?

编辑 1: 我已经上传了我的代码风格 --> 包装和大括号配置

检查文件 -> 设置 -> 代码风格 -> Java -> 换行和大括号。确保 "Chained method calls" 设置为 "Do not wrap" 并且两个方块未选中。

Preferences > Editor > Code Style > Java > Wrapping and Braces

  • 方法调用参数 - 不要换行
  • 优先于调用链包装 - True

截图如下:

我重现了您描述的方法拆分行为,然后 'fixed' 使用我在此处建议的设置重现了它。但是,格式化程序配置太多,其中一些相互影响,所以我可能没有完全重现您所看到的内容。如果是这样,那么我建议您尝试以下操作:

  • 将您的 Java 代码样式保存到项目特定版本,然后开始一次更改其配置一项,直到找到正确的一项。
  • 导出您的 Eclipse codestyle(从 Eclipse 的 Preferences > Java > Code Style > Formatter 并通过“全部导出”按钮将设置导出到 XML 文件),然后将其导入 IntelliJ(见下面的屏幕截图)...也许IntelliJ 可以从 Eclipse 格式化程序中计算出正确的配置。