Scalafmt文档注释与显著缩进冲突的解决咨询
解决Scalafmt文档注释错误缩进的方案
针对你遇到的Scalafmt 3.6.1配合Scala 3.2.1时,即便设置了docstrings.style = keep仍出现文档注释错误缩进的问题,可以试试以下几种办法:
- 补充缩进相关配置:
在.scalafmt.conf里添加或调整这些项:- 尝试设置
indentOperator = spray,部分场景下能修正块内注释的解析逻辑 - 明确指定
docstrings.indent = 0,强制文档注释保持原有缩进层级 - 确保
docstrings.wrapColumn和代码的wrapColumn值一致,避免因换行规则冲突导致的缩进错误
- 尝试设置
- 排查冲突配置:
检查是否有其他缩进相关配置(比如indentLocalDefs、maxColumn)和文档注释设置冲突,暂时注释掉可疑配置测试效果 - 临时 workaround:
如果上述配置调整都无效,确实可以暂时换回大括号写法——Scalafmt对Scala 3无大括号代码块的文档注释解析存在版本兼容bug,换回大括号能规避这个问题 - 升级版本:
尝试把Scalafmt升级到最新稳定版(比如3.7.x系列),后续版本大概率修复了这类特定的缩进解析问题
内容的提问来源于stack exchange,提问作者Andrey Tyukin
相关产品推荐
相关产品推荐

