Keep on moving

あんまりまとまってないことを書きますよ

scalafmt の設定ファイルのおすすめ最小構成(2017.10)

package version
scalafmt 1.3.0

皆さんScalaでもコードフォーマットツール使ってますか? 僕はscalafmtを愛用しています。

http://scalameta.org/scalafmt/

goのgofmtみたいなものなんですが、設定ファイルでフォーマットの条件をいじれます。 設定しなくてもいいんですが、まだたまーに 互換性のないアップデートがあったりするので 個人的には設定ファイルをつくっておくのをおすすめしています。 で、最小構成の設定ファイルを毎回作るので、一旦まとめてみました。

最小構成

僕はプロジェクトに追加するときはひとまずファイルをつくっています。 ちなみにプロジェクトのroot direcotory に .scalafmt.conf と言う名前で作ります。

# Only format files tracked by git.
project.git = true # Default: false
# Manually exclude files to format.
project.excludeFilters = ["target/"]
#
# maxColumn = 100 # Default: 80
  • project がgitだったら project.git=trueは入れましょう。gitによって追跡されるファイルのみがフォーマット対象になります
  • target配下は外していいと思います
  • maxColumnは好きな値をいれると良いでしょう。こだわりがなければ80文字で良いかと。github mobileとかでも読みやすくなるそうな。

その他

  • Q:既存のプロジェクトにフォーマットを崩さないように追加したい場合は?
  • A: KKK(Kiai/Konjou/Konki) でオプションを駆使して頑張ってください!!

参考

Scalafmt - code formatter for Scala

qiita.com