Scalafmt in Scala projects

840 Views Asked by At

I like the clean code, I mean code formatted with for example scalafmt (https://scalameta.org/scalafmt/).

I've always add the file .scalafmt.conf in the root folder of the project. Then, everytime I save a source file it gets formatted accordingly. As far as I know I can also add a plugin in the plugins.sbt file. With this, there are new sbt tasks for checking if sources are formatted, format sources, etc.

Q1 Is this the right way to use it (adding the .scalafmt.conf file and adding the plugin)?

Q2 Version in the plugin must be the same as version in .scalafmt.conf? Example:

.scalafmt.conf:

version = 2.6.4
...

plugins.sbt:

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

There are 1 best solutions below

0
On BEST ANSWER

That usage is correct.

The docs explicitly say that scalafmt and the sbt plugin are released independently. The plugin version only covers the bits required to integrate scalafmt with sbt: it will download the version of scalafmt specified in .scalafmt.conf as needed. In short, scalafmt and the sbt plugin will almost surely not have the same version number.