Scalafmt从2.0.1迁3.6.1:如何禁用尾随单行注释缩进
Scalafmt 3.x迁移:解决尾随单行注释自动对齐问题
在大型遗留代码仓库迁移Scalafmt版本时,要最小化代码改动,你遇到的尾随单行注释被自动缩进的问题,根源在于3.x版本的align.preset = more默认启用了注释对齐,但你添加的align.tokens.add配置方向错误——实际上需要禁用注释的自动对齐,而非添加对齐规则。
解决方案
修改Scalafmt配置,在align.preset = more的基础上,添加以下配置移除预设中的注释对齐规则:
align.tokens.remove = [{ code = "//", owner = ".*" }]
或者更直接地,全局关闭注释对齐功能:
align.comments = false
原理说明
Scalafmt 3.x的more预设已经内置了对//尾随注释的对齐规则,你之前的add操作属于重复添加相同规则,因此不会产生任何效果。而remove操作会将预设中的注释对齐规则移除,或者直接用align.comments = false彻底关闭注释对齐逻辑,这样就能保留原有代码中注释的原始位置,避免不必要的缩进改动。
内容的提问来源于stack exchange,提问作者Donald Duck
相关产品推荐
相关产品推荐

