如何在IntelliJ IDEA中用.editorconfig正确换行Scala中缀表达式?
解决Scala中缀表达式格式化后
::换行失效的.editorconfig配置方案 要解决中缀操作符(如::)被移到新行导致代码失效的问题,只需在你的.editorconfig中添加针对Scala中缀表达式的换行规则即可。
完整配置方案
max_line_length = 100 ij_scala_call_parameters_wrap = normal ij_scala_method_call_chain_wrap = normal ij_scala_variable_annotation_wrap = normal ij_scala_wrap_long_lines = true # 核心配置:指定中缀操作符留在上一行末尾 ij_scala_infix_expression_wrap = wrap_after_operator
配置说明
ij_scala_infix_expression_wrap = wrap_after_operator:强制IDEA在格式化长中缀表达式时,将操作符(如::)保留在当前行末尾,换行仅发生在操作符之后,完全符合Scala语法要求,避免代码因操作符换行失效。- 原有配置项可继续保留,不影响中缀表达式的格式化逻辑。
格式化后的效果
你的目标代码行格式化后会变为:
override val fooBarJognDoeLongVar: List[fooBarJognDoeLongVarType] = DoThisDoThat() :: DoThisDoThatAgain() :: DoThisDoThatAgainOneMoreTime() :: DoThisDoThatAgainOneMoreTimeOnceAgain() :: Nil
配置生效后,执行IDEA的Reformat Code(快捷键Ctrl+Alt+L)即可应用该规则。
内容的提问来源于stack exchange,提问作者MrRobot
相关产品推荐
相关产品推荐

