如果我有一个Scala的方法声明太长,不适合在单行线,我想它在几个线分开,和我重新格式化的期望是:IntelliJ IDEA的格式化Scala代码
protected def pruneFilterProject(
relation: LogicalRelation,
projectList: Seq[NamedExpression],
filterPredicates: Seq[Expression],
scanBuilder: (Array[String], Array[Filter]) => RDD[Row]) = {
pruneFilterProjectRaw(
relation,
projectList,
filterPredicates,
(requestedColumns, pushedFilters) => {
scanBuilder(requestedColumns.map(_.name).toArray, selectFilters(pushedFilters).toArray)
})
}
但重新格式化代码后( control + alt + L
),输出为:
protected def pruneFilterProject(
relation: LogicalRelation,
projectList: Seq[NamedExpression],
filterPredicates: Seq[Expression],
scanBuilder: (Array[String], Array[Filter]) => RDD[Row]) = {
pruneFilterProjectRaw(
relation,
projectList,
filterPredicates,
(requestedColumns, pushedFilters) => {
scanBuilder(requestedColumns.map(_.name).toArray, selectFilters(pushedFilters).toArray)
})
}
什么是IntelliJ IDEA的正确的代码样式规则斯卡拉郎,我应该设置覆盖默认行为,并让我的期望输出的风格?
编辑
取消选择Align when multiline
将导致:
protected def pruneFilterProject(
relation: LogicalRelation,
projectList: Seq[NamedExpression],
filterPredicates: Seq[Expression],
scanBuilder: (Array[String], Array[Filter]) => RDD[Row]) = {
pruneFilterProjectRaw(
relation,
projectList,
filterPredicates,
(requestedColumns, pushedFilters) => {
scanBuilder(requestedColumns.map(_.name).toArray, selectFilters(pushedFilters).toArray)
})
}
参数和方法体将具有同样的凹口(2空间),而不是所希望的一个: 参数列表具有两个凹口( 4空格),只有一个缩进的方法列表(2个空格)
谢谢,我把结果格式放在答案的“编辑”部分,你会介意再帮助我吗? –
感谢您的更新。我认为我需要的只是'方法声明参数''继续缩进'到4和其他'延续缩进'到2,这在Intellij IDEA中似乎不可用? –