防止 Intellij IDEA 缩进我对 else 语句的评论

Posted

技术标签:

【中文标题】防止 Intellij IDEA 缩进我对 else 语句的评论【英文标题】:Prevent Intellij IDEA from indenting my comment on else statement 【发布时间】:2022-01-07 20:18:48 【问题描述】:

通常我会像这样对 else 语句写评论:

public class Test 
    public static void main(String[] args) 
        if (someStatements) 
            do();
        // comment on else statement
         else if (someOtherStatements) 
            do();
        // another comment on else statement
         else 
            do();
        
    

但在 IDEA 重新排列代码后,我的 cmets 缩进了:

public class Test 
    public static void main(String[] args) 
        if (someStatements) 
            do();
            // comment on else statement
         else if (someOtherStatements) 
            do();
            // another comment on else statement
         else 
            do();
        
    

如何防止 IDEA 代码重新排列有意 cmets? 或者如何告诉 IDEA 不要重新排列我的 cmets?

【问题讨论】:

第一步,意识到那不是一个 else 语句,而是一个 else if 语句。完全不同的事情。其次,这与编程无关,只是与你的IDE的配置有关 嗯,cmets 是前一个块的一部分,我不确定 IntelliJ 是否甚至能够区分用于下一行的 cmets 和那些应该成为块的一部分的 cmets。您也许可以使用 // @formatter:off //comment // @formatter:on 之类的东西关闭自动格式化(当然每个都在新的一行),但我怀疑这会改善问题。我建议考虑将 cmets 放在其他地方,例如在 else 语句之后或在它前面,例如... //comment else ...(再次根据需要插入换行符)。 @Stultuske 我很确定Java没有真正的else-if,即else if (condition) block1 else block2 实际上只是else if(condition) block1 else block2 (删除“内部”if-else周围的可选大括号后者的声明,你又回到else if ...)。 @Stultuske 顺便问一下程序员常用的软件工具”的问题是on-topic。 @Thomas 是否为“真”无关紧要,相关的是 IDE 如何看待代码。如果他把这些括号放在一起,评论可能会转到他想要的位置 【参考方案1】:

转到设置中的Preferences | Editor | Code Style | Java | Code Generation 并选中Line comment at first column 复选框。

【讨论】:

以上是关于防止 Intellij IDEA 缩进我对 else 语句的评论的主要内容,如果未能解决你的问题,请参考以下文章

如何在 IntelliJ IDEA 中使用制表符进行缩进?

IntelliJ IDEA启动时如何防止打开最后一个项目?

Intellij idea: java.lang.ClassNotFoundException:javax.el.ELResolver异常解决办法

intellij idea汇总

Intellij idea兼容 Eclipse 快捷键 (仅个人学习回顾,防止遗忘)

idea 如何将生成 xml 文件时默认的缩进 2 个空格改变 4 个空格