概要
google-java-format は Java のコードをフォーマットしてくれるツールです
CLI でも使えますが別途インストールしたりプロジェクトごとに管理できないので今回は gradle 配下でインストールし実行する方法を紹介します
環境
- macOS 15.2
- Java 21.0.5
- google-java-format 1.17.0
build.gradle の編集
主に2箇所追記します
plugins
まずは spotless というプラグインをインストールします
plugins {
id 'com.diffplug.spotless' version '7.0.2'
}
spotless
format 用の定義を追加します
Java21 の場合は google-java-format は 1.17.0 以下を指定します
設定でいろいろなフォーマットが可能です
インデントはスペースではなくタブにしたりヘッダのコピーライト文も自動で追加したりできます
spotless {
format 'misc', {
// define the files to apply `misc` to
target '*.gradle', '.gitattributes', '.gitignore'
// define the steps to apply to those files
trimTrailingWhitespace()
leadingTabsToSpaces()
endWithNewline()
}
java {
// don't need to set target, it is inferred from java
// apply a specific flavor of google-java-format
googleJavaFormat('1.17.0').aosp().reflowLongStrings().skipJavadocFormatting()
// fix formatting of type annotations
formatAnnotations()
// make sure every file has the following copyright header.
// optionally, Spotless can set copyright years by digging
// through git history (see "license" section below)
licenseHeader '/* (C)$YEAR */'
}
}
動作確認
-
./gradlew spotlessApply
これで自動的にフォーマットされます
Tips
emacs で lsp-java を使っている際にエディタ側で自動でフォーマットされてしまうのを防ぐ方法は以下です
(setq lsp-java-format-enabled nil)
(setq lsp-java-format-on-type-enabled nil)
最後に
これでコードのフォーマットは統一することができます
エディタ側には google-java-format 用の linter がほしいところです
0 件のコメント:
コメントを投稿