在IntelliJ中格式化Scala代码

在IntelliJ中格式化Scala代码,scala,intellij-idea,Scala,Intellij Idea,我有这样的Scala代码: def myMethod(myInt: Int, myFloat: Float, myString: String): Unit = { //method body } def myMethod( myInt: Int, myFloat: Float, myString: String): Unit = { //method body } 我想将其格式完全如下所示: def myMethod(myInt

我有这样的Scala代码:

def myMethod(myInt: Int, myFloat: Float, myString: String): Unit = {
     //method body
}
 def myMethod(
     myInt: Int,
     myFloat: Float, 
     myString: String): Unit = {
     //method body
    }
我想将其格式完全如下所示:

def myMethod(myInt: Int, myFloat: Float, myString: String): Unit = {
     //method body
}
 def myMethod(
     myInt: Int,
     myFloat: Float, 
     myString: String): Unit = {
     //method body
    }

因此需要注意的是,每个参数都必须在自己的行中,并且需要缩进4个空格。我在“包装和大括号”选项卡下尝试了设置>编辑器>代码样式>Java,并为“方法声明参数”选择了“始终包装”选项。但这并不能正确地缩进代码。无论如何都要这样做吗?

我认为应该设置Scala而不是Java:Settings>Editor>Code Style>Scala、Wrapping和brages>Method-declaration参数。选择“始终包裹”

它对我有用。

从实际的Intellij特定答案来看,您可能还对以下内容感兴趣。它是一个独立于IDE的格式化程序,但该项目确实包含一个Intellij插件(以及一个命令行工具、一个SBT插件…)。有一个设置
continuationIndent.defnSite
,它满足您的需要(默认值为4个空格)。请注意,如果您想使用其中一种预设样式(可能在这里或那里进行一些调整),而不是自己设置每个选项,scalafmt尤其好。