在 IntelliJ 中保持块样式代码间距

Keep block style code spacing in IntelliJ

在空格用于特定可读性目的(例如重复分配许多值)的区域中,如何防止 IntelliJ 删除 Python(或与此相关的任何语言)中的空格。

是我喜欢的方式,我认为许多 vim 用户同意这是要走的路。

但是,这就是 IntelliJ 从中得到的结果

对于诸如 python 之类的语言,这个问题特别有趣,其中空格可以(但不一定)影响程序流程。

我也知道很难定义什么时候应该压缩空格(即什么时候只有上面 4 行中的一行存在)以及什么时候应该保留它们。 我想一些启发式方法会起作用,但这并不是真正的 100% 现场 lintable 情况。

我喜欢你的想法,但不知道如何在编辑器设置中实现它。

一个丑陋的替代方案确实有效,但 "pollutes" 您的来源是 在注释中启用格式化程序标记 在此屏幕上:文件 ->设置 -> 编辑器 -> 代码风格:

选择该选项后,您可以有选择地创建 IDEA 在格式化代码时将忽略的代码块:

// @formatter:off
String s1 = "Arkansas"      + ".";
String s2 = "Maine"         + ".";
String s3 = "Massachusetts" + ".";
String s4 = "Ohio"          + ".";
// @formatter:on

您还可以通过 JetBrains 提出错误报告:“提供一个选项以允许在源代码中嵌入多个 spaces”。这对他们来说实施起来应该相当简单:只是在重新格式化时不要用单个 space 替换多个嵌入的 space。