如何在IntelliJ中格式化代码时去除不必要的空行?

90

在Intellij IDEA中,是否可能使用代码格式化来删除空白行?


只是注意,被接受的答案在HTML上不起作用。它仅适用于Java、Python等语言。 - Luk Aron
你可以查找正则表达式 $\n\n 并将其替换为 \n(原始想法来自 https://intellij-support.jetbrains.com/hc/en-us/community/posts/206344569/comments/206917645) - Joand
7个回答

128

是的。可以在设置菜单(CTRL+ALT+S)中配置空行数量:文件->设置->编辑器->代码样式->Java(或Scala或其他您使用的语言)->空白行

空行配置


1
我在哪里可以设置//region //endregion? - Maxim
奇怪的是,当我将“方法体之前”设置为1时,不要在那里添加空行,然后格式化代码,空行会自动添加。但反过来:我将其设置为0,确实在那里添加了一个空行,然后格式化代码,该空行并没有被删除。 - Rule
@Rule 这是因为它是“最小值”,而不是“最大值”或“确切值”的行数。 - Danon
@Danon,你说得对,我没注意到。不过如果他们提供这个选项就好了。 - Rule
1
我刚刚向JetBrains提交了反馈,询问他们是否会实现它。等我收到回复后,我会发表评论:> - Danon
不幸的是,在左大括号 { 后面这个方法不起作用。因此,我无法在打开类或方法后删除空行。对于右大括号 } 前的行,它可以完美地工作。我也无法删除类结束 } 大括号后的行。 - Dmitriy Popov

39
  • 文件 >> 设置 >> 编辑器 >> 代码样式 Java >> 空白行选项卡

  • 在代码标签中更改为0(如图片所示),这将在按格式化快捷键Ctrl + Alt + L时删除所有不必要的空行。

输入图片描述


38

您还可以使用正则表达式选项查找和替换空行,例如:^(?:[\t ]*(?:\r?\n|\r))+。它将在文件中搜索所有的空行。只需使用空值进行替换即可。


19
我使用正则表达式从代码中删除多余的空行。以下是操作步骤:
  • 打开查找和替换对话框,使用快捷键CTRL+SHIFT+R
  • 在搜索框中输入^(?:[\t ]*(?:\r?\n|\r)){2,},这将搜索两个或更多的空行。
  • 在替换框中输入\n,这将用一个空行替换。

enter image description here

  • 打开重新格式化代码对话框,点击运行,使用快捷键CTRL+ALT+L
此方法适用于所有JetBrains IDE。请参考截图。

5

如果有人使用较新版本的Intellij,以下翻译可能会对你有所帮助,在Intellij IDEA 2016.2.4中,路径为文件 -> 其他设置 -> 默认设置 -> 编辑器 -> 代码风格 -> Java(或Scala或您使用的其他语言) -> 空白行


1

对于那些试图删除文件末尾的空行的人来说,这已经成为了2020年8月的一个功能。

配置此操作的正确位置是在“设置|编辑器|常规|保存时”下。勾选“删除尾部空白行”。


0

我最近遇到了这个问题,下面是我发现的解决方案。

将您的代码压缩成一行,然后像通常一样进行样式设置。

ctrl + shift + j //shortcut to oneline
ctrl + alt + l   //shortcut to styling

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接