ChatGPT解决这个技术问题 Extra ChatGPT

IntelliJ Scala Plugin的case类缩进很荒谬

当一个案例类有很多字段并且它们的名称很长时,在每一行中编写每个字段通常是一个好主意,例如:

case class Person (
  name: String,
  age: Int
)

这类似于 C/C++ struct 定义并且即使在案例类变得更大时也完全可读。但是 IntelliJ IDEA 的默认 Scala 插件会自动更改其缩进:

case class Person (
                    name: String,
                    age: Int
                    )

这对我来说看起来很奇怪,但 Scala Style Guide 没有提到任何关于案例类缩进的内容。

我在 IDE 设置中找不到任何可以改变这种行为的东西。是否可以像我上面描述的那样使自动缩进工作或禁用案例类的自动缩进?

此处描述的类定义中的缩进:docs.scala-lang.org/style/declarations.html 他们说新行需要 4 个空格。
@red1ynx 你知道怎么做吗?
这是解决该 youtrack.jetbrains.com/issue/SCL-4167 的问题。如果您不喜欢这种行为,请去那里投票。

i
ingara

尝试文件 -> 设置... -> 代码样式 -> Scala

那里有很多设置可以自定义您的代码格式。

在“包装和大括号”选项卡中,在“方法声明参数”下:

检查“对参数使用正常缩进”

取消选中“多行对齐”

这会将其更改为您提供的示例。

如果您希望它使用“制表符和缩进”下的“继续缩进”中的缩进,则必须取消选中上述两个选项。


我认为您还必须禁用“多行对齐”。
如果我想在它之前有 4 个空格怎么办?
只需将缩进更改为 4
@BinWang:取消选中“对参数使用正常缩进”和“多行时对齐”,并将“制表符和缩进”下的“连续缩进”设置为 4
如果你想在“文件 -> 设置... -> 代码样式 -> Scala -> 其他”中缩进 4 个空格(根据 Scala 样式指南),请使用 4 检查“构造函数参数和参数声明的备用缩进”