如何阻止Intellij IDEA自动缩进else语句前的注释
方案1:全局调整Java代码格式化规则
- 打开IDEA设置:Windows/Linux 按快捷键
Ctrl+Alt+S,Mac 按快捷键⌘+,,也可以通过菜单路径进入:Windows/Linux 选择File -> Settings,Mac 选择IntelliJ IDEA -> Settings - 依次进入
Editor -> Code Style -> Java配置页 - 切换到 Wrapping and Braces 标签,找到「if 语句」分组,取消勾选 Indent comments located before 'else'(部分版本IDEA显示为「Indent comments after code block in 'if'」),保存设置即可
如果上述设置不生效,可以直接关闭全局注释格式化: - 还是在
Editor -> Code Style -> Java配置页,切换到 Comments 标签 - 取消勾选 Enable comment formatting,之后IDEA重排代码时就完全不会调整任何注释的缩进、换行等排版
方案2:局部禁用代码格式化
如果你只是不想让部分代码的注释被调整,可以开启格式化控制标记,按需禁用指定区域的格式化:
- 先进入
Editor -> Code Style配置页,切换到 Formatter Control 标签 - 勾选 Enable formatter markers in comments,保存设置
- 在你不想被格式化的代码段前加注释
// @formatter:off,代码段后加注释// @formatter:on,示例如下:
public class Test { public static void main(String[] args) { // @formatter:off if (someStatements) { do(); // comment on else statement } else if (someOtherStatements) { do(); // another comment on else statement } else { do(); } // @formatter:on } }
包裹在两个标记之间的所有代码(包括注释)在重排时都会保留你原本的排版。
内容的提问来源于stack exchange,提问作者hat
相关产品推荐
相关产品推荐

