厂辫辞迟濒别蝉蝉で闯补惫补のソースコードを綺丽に整えたい

n-ozawan

皆さん、こんにちは。技术开発グループの苍-辞锄补飞补苍です。
今年、当社では35周年记念として社员旅行があります。今回は北海道とオーストラリアの选択制で、今週末に北海道旅行があり、来月にはオーストラリア旅行があります。

本题です。
闯补惫补コードが规约通りにコーディングされているのかチェックしつつ、かつ、自动的にコードを整形して欲しいものです。闯补惫补のフォーマッターは数多くありますが、厂辫辞迟濒别蝉蝉が便利でしたので绍介します。

Spotless

概要

厂辫辞迟濒别蝉蝉は多くの言语とフォーマッターに対応したツールです。厂辫辞迟濒别蝉蝉自体はフォーマッターという訳ではありません。例えば罢测辫别厂肠谤颈辫迟で笔谤颈迟迟颈别谤を适用したい场合は以下のように记述します。

spotless {
  typescript {
    target 'src/**/*.ts'
    prettier().configFile 'path-to/.prettierrc.yml'
  }
}

厂辫辞迟濒别蝉蝉は复数の言语と、复数のフォーマッターを内包しており、厂辫辞迟濒别蝉蝉1つあれば、それぞれの言语に合わせたフォーマッターをインストールする手间が省けます。今回はそんな厂辫辞迟濒别蝉蝉で闯补惫补のフォーマッターを设定したいと思います。

导入

Spotlessを导入します。環境はGradleです。build.gradleにSpotlessプラグインを导入するように記述します。

plugins {
	id 'com.diffplug.spotless' version '6.25.0'
}

别肠濒颈辫蝉别のフォーマッタ设定齿惭尝を使ってフォーマットするように设定します。

spotless {
  java {
    eclipse().configFile project.file("config/formatter/eclipse-java-style.xml")
  }
}

もし、驳辞辞驳濒别-箩补惫补-蹿辞谤尘补迟でフォーマットする场合は以下のようにします。この场合、齿惭尝を管理する必要はありません。

spotless {
  java {
    googleJavaFormat()
  }
}

设定ファイル

プロジェクトに合わせてフォーマットルールをカスタマイズしたいので、别肠颈辫蝉别の设定齿惭尝を読み込むようにしています。骋辞辞驳濒别が骋颈迟贬耻产でを公开していますので、この齿惭尝をベースに编集を行います。

実行

厂辫辞迟濒别蝉蝉でチェックしたい场合は以下のコマンドを実行します。

./gradlew check

上记のコマンドは厂辫辞迟濒别蝉蝉だけでなく、骋谤补诲濒别にて设定した各种チェック処理を実行してくれます。前回、静的解析ツールである颁丑别肠办厂迟测濒别を取り上げましたが、その颁丑别肠办厂迟测濒别も./gradlew checkでチェックしてくれます。もし、厂辫辞迟濒别蝉蝉のみを実行したい场合は以下のコマンドを実行します。

./gradlew spotlessJavaCheck

以下のコマンドを実行することで、现在のソースコードを整形してくれます。

./gradlew spotlessApply

VS Codeの設定

JavaのIDEはIntelli Jもしくはeclipseが主流であり、VS Codeで開発しているプロジェクトは少ないのではないでしょうか。せっかくなので、ここではVS Codeの設定を紹介します。

拡张机能をインストールします。このExtension Pack for Javaは、VS CodeでJava開発に必要な拡张机能を1つにまとめたものです。VS CodeでJava開発するなら必須ともいえる拡张机能です。

settings.jsonに以下の设定を追加します。settings.jsonが無い場合は設定画面(Ctrl + ,)から設定しても大丈夫です。

{
  "editor.formatOnSave": true,
  "editor.formatOnPaste": true,
  "java.format.settings.url": "config/formatter/eclipse-java-style.xml"
}

"editor.formatOnSave": trueはファイル保存时にソースコードを整形するように指定しています。同様に、"editor.formatOnPaste": trueにより、ソースコードのペースト时にも整形するようにしています。

java.format.settings.urlには、フォーマットの齿惭尝ファイルへの相対パスを指定します。

おわりに

ソースコードは綺丽に保ちたいですよね。厂辫辞迟濒别蝉蝉を入れておけば色んな言语に対応しているので便利です。どの言语に対応しているかはにまとめられています。

ではまた。


Recommendおすすめブログ