带有实例调用的方法调用的 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 格式化程序中计算出正确的配置。
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 格式化程序中计算出正确的配置。