目前,IntelliJ(特别是 Android Studio)会删减如下长的条件语句:
if (valueWithALongNameA || valueWithALongNameB && valueWithALongNameC) {
}
// becomes
if (valueWithALongNameA ||
valueWithALongNameB &&
valueWithALongNameC) {
}
但是我们的编码约定让我们将它们格式化如下:
if (valueWithALongNameA || valueWithALongNameB && valueWithALongNameC) {
}
// becomes
if (valueWithALongNameA
|| valueWithALongNameB
&& valueWithALongNameC) {
}
请注意,在我们的样式中,||
和&&
位于换行符之后。有什么方法可以让 IntelliJ 利用其自动格式化来做到这一点?
主要问题是我使用自动格式化来确保我的代码符合我们的标准,但这会导致格式正确的条件被不必要地更改,从而弄乱差异。
我找不到与偏好相关的任何内容:
我试图一次性将所有首选项显示在屏幕上,但我不得不删去一些,所以我排除了“重新格式化时保留”选项和“确保右边距不超过”。除了“换行符”、“一行中的控制语句”和“一行中的多个表达式”之外,它们都已选中。删去的部分标题是“括号放置”。
答案1
我想要的和你想要的相反,但这是设置(OSX,14.1.3)。诚然,这并不明显。