こちらのエントリーを書いていて、IntelliJ IDEAを使ってコマンドラインでファイルをフォーマットできることがわかったので、
軽くメモしておきます。
Formatter Maven Pluginで、ソースコードのフォーマットを行う - CLOVER🍀
ドキュメントはこちら。
Format files from the command line | IntelliJ IDEA Documentation
ポイントは、すでにIntelliJ IDEAのプロセスが存在している場合は、この機能は使えないということですね。
It will not work if another instance of IntelliJ IDEA is already running.
使い方は、以下になります。
$ idea.sh format [<options>] <path...>
確認は、IntelliJ IDEA Community Edition 2022.3.1で行っています。
いくつか例を。
デフォルトのフォーマットで、src/main/java
ディレクトリ配下をフォーマット。
$ idea.sh format -r src/main/java
-r
でディレクトリ内のファイルを再帰的にフォーマットします。
ファイルを指定してフォーマット。
$ idea.sh format src/main/java/App.java
パスの指定は繰り返し行えます。
$ idea.sh format -r [/path/to/dir1] -r [/path/to/dir2]
フォーマットを変更する場合は、-s
で指定します。
$ idea.sh format -r src/main/java -s $HOME/.config/JetBrains/IdeaIC2022.3/codestyles/Default.xml
グローバルなフォーマットは、$HOME/.config/JetBrains/[IntelliJ IDEAのバージョン]/codestyles
ディレクトリ配下にあるようですね。
またはプロジェクト内の.idea/codeStyles
配下のファイルや、エクスポートしたファイルを指定するとよいでしょう。
-d
はdry-runで検証モードで実行します。
$ idea.sh format -r src/main/java -d
-d
を付けて実行した場合、フォーマットされていないファイルが含まれていた場合は終了コードが0以外になります。
試すと、1が返ってきました。
対象内のファイルがフォーマット済みの場合は、終了コードが0になります。