【发布时间】:2023-03-09 10:18:01
【问题描述】:
如果我有一个 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)
})
}
但是在 Reformat Code(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 中适用于 scala lang 的正确代码样式规则以覆盖默认行为并获得我想要的输出样式?
编辑
取消选择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 个空格)
【问题讨论】:
标签: scala intellij-idea coding-style