Bla*_*man 7 scala sbt visual-studio-code scalafmt scala-metals
我的多项目 sbt 存储库中有 scala 格式插件。
addSbtPlugin("org.scalameta" % "sbt-scalafmt" % "2.3.2")
Run Code Online (Sandbox Code Playgroud)
所以在 sbt 控制台中如果我运行 scalafmt 它工作正常
我的 build.sbt 有:
scalafmtOnCompile := true
Run Code Online (Sandbox Code Playgroud)
如果我在 sbt 中执行 ~compile 或只是手动编译,它不会在编译期间格式化我的代码。
我的设置有什么问题吗?
另外,运行 scalafmt 可以工作,但它不会像我的 Dependency.scala 文件那样格式化 /project 中的 .scala 文件。为什么它忽略这些文件?
我也使用带有金属的 VS Code 作为我的 IDE。
Scalafmt似乎可以在我的机器上使用开箱即用的 Metals 在 VSC 中工作
Metals 根据...中定义的配置,自动使用 Scalafmt 响应来自编辑器的格式化请求。
.scalafmt.conf
如果没有.scalafmt.conf
,在收到第一个格式请求后,Metals 将为您创建 .scalafmt.conf 文件。
只需Format Document
从 VSC 中执行命令Command Palette
,它应该根据以下格式进行格式化.scalafmt.conf.
如果您想在每次源更改时连续格式化和编译并且scalafmtOnCompile
不起作用,请尝试在 sbt 中执行
~scalafmt;compile
Run Code Online (Sandbox Code Playgroud)
然而,根据文档,不鼓励编译时使用格式
不鼓励使用此选项,因为它会弄乱编辑器中的撤消缓冲区并减慢编译速度。建议在编辑器中使用“保存时格式化”。
归档时间: |
|
查看次数: |
4624 次 |
最近记录: |