【发布时间】:2017-01-16 16:53:55
【问题描述】:
这适用于 IntelliJ 2016.2。
我正在清理一些导致 CheckStyle 违规并停止我们的 CI 构建的代码,这似乎是由于 IntelliJ 的代码样式规则而发生的。我可以手动修复这些,但是有两个问题:编辑器不加选择地应用这些规则,并且手动修复很多。如果有人再次运行代码格式化,它会将缩进设置为它想要的方式。
具体来说,多行方法签名的缩进如下所示:
我希望后续行中的参数在上一行的开头右侧缩进 4 个空格,而不是左括号。
有趣的是,format-as-you-type 对我来说是正确的,但是当我使用代码格式化程序时,它会像上面一样重新格式化它。
我可以通过转到首选项中的制表符和缩进并将“继续缩进”设置为 0 来获得一些方法:
但是这条规则被普遍应用,让其他东西看起来很糟糕,而且它不接受负值。
我已经进入了首选项中的“Editor.Code Style.Java.Wrapping and Braces.Method 声明参数”并尝试了那里的所有内容。我有“Chop down if long”,但由于缩进规则,这使得行 longer。我没有看到一种方法来指定它应该从哪里开始缩进或它应该缩进多少行。
这一点,再加上观察到方法 调用 的格式化表现出预期的行为(但更严重的是,不是 constructor 调用!),让我认为这是一个错误. IntelliJ 的格式化程序似乎被硬编码为使用左括号中的连续缩进,而不是方法声明本身。
有什么我遗漏的或一些可行的解决方法吗?
【问题讨论】:
-
第一张图片是格式化前,第二张是你理想的格式吗?
-
不,第二个是迄今为止我能做的最好的代码样式设置。让我编辑添加我想看到的内容。
标签: java intellij-idea code-formatting intellij-idea-2016