我的多项目sbt存储库中有scala格式插件。
addSbtPlugin("org.scalameta" % "sbt-scalafmt" % "2.3.2")
因此,在sbt控制台中,如果我运行scalafmt,则效果很好
我的build.sbt具有:
scalafmtOnCompile := true
如果我在sbt中进行〜compile编译或只是手动编译,则编译时不会格式化我的代码。
我的设置有什么问题?
此外,运行scalafmt可以运行,但不会像Dependencies.scala文件一样格式化/ project中的.scala文件。为什么忽略这些文件?
我也将VS Code和金属一起使用作为我的IDE。
答案 0 :(得分:2)
Scalafmt似乎可以在我的机器上使用开箱即用的金属在VSC中工作
金属自动使用Scalafmt响应格式化请求 从编辑器中,根据在
.scalafmt.conf
...如果没有.scalafmt.conf
,则收到 第一个格式请求Metals将为以下文件创建.scalafmt.conf文件 你。
在VSC中仅从Format Document
执行Command Palette
命令,它应根据.scalafmt.conf.
进行格式化。如果您想对每个源更改进行连续格式化和编译,并且scalafmtOnCompile
是不起作用,然后尝试在sbt中执行
~scalafmt;compile
根据文档,编译时的格式为discouraged
不建议使用此选项,因为它会弄乱设备中的撤消缓冲区 编辑器,它会减慢编译速度。建议使用“格式 保存时”。