防止 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: java.lang.ClassNotFoundException:javax.el.ELResolver异常解决办法