Scala 项目中的 Scalafmt

Scalafmt in Scala projects

我喜欢干净的代码,我的意思是使用例如 scalafmt (https://scalameta.org/scalafmt/) 格式化的代码。

我总是在项目的根文件夹中添加文件 .scalafmt.conf。然后,每次我保存一个源文件时,它都会相应地格式化。 据我所知,我还可以在 plugins.sbt 文件中添加一个插件。有了这个,就有了新的 sbt 任务,用于检查源是否已格式化、格式化源等。

Q1 这是正确的使用方法吗(添加 .scalafmt.conf 文件并添加插件)?

Q2插件中的版本必须与.scalafmt.conf中的版本相同吗?示例:

.scalafmt.conf:

version = 2.6.4
...

plugins.sbt:

addSbtPlugin("org.scalameta" % "sbt-scalafmt" % "2.4.3")
...

这个用法是正确的。

文档明确指出 scalafmt 和 sbt 插件是独立发布的。插件版本仅涵盖将 scalafmt 与 sbt 集成所需的位:它将根据需要下载 .scalafmt.conf 中指定的 scalafmt 版本。简而言之,scalafmt和sbt插件几乎肯定不会具有相同的版本号。