IntelliJ IDEAでファイル保存時にReformat Codeする
IntelliJ IDEAでファイル保存時、VCS上で変更が加えられたコードのみReformat Codeする方法を解説する。
Keywords
- IntelliJ IDEA
Contents
- 1. 概要
- 2. 標準機能でのReformatする方法
- 2-1. [Only VCS changed text]にチェックを入れる
- 2-2. Reformat実行
- 3. [Save Actions]プラグインでReformatする方法
- 3-1. プラグインのインストール
- 3-2. [Reformat only changed code (only if VCS configured)]にチェックを入れる。
- 4. その他
- 5. 参考文献
概要
IntelliJ IDEAの標準機能でReformatする方法とプラグインを使用してReformatする方法の2つを解説します。
標準機能でのReformatする方法
[Only VCS changed text]にチェックを入れる
[Code]-[Show Reformat File Dialog]をクリックして、ダイアログを開く
[Only VCS changed text]にチェックを入れて、[Run]をクリック ※VCS上で変更がない場合は、チェックが入れられないので、設定するときだけ変更しておく必要があります。
[Run]をクリックすると、Reformatされますが、ここで設定した内容は次回のReformat時にも反映されているようです。
また、VCS上での変更がある場合は、変更分のみReformatし、VCS上での変更がない場合は、[No lines changed: no changes since last revision]というメッセージが表示されるだけで、Reformatはされませんでした。
Reformat実行
[Code]-[Reformat Code]にて実行するか、[option + command + l]を押下する。
[Save Actions]プラグインでReformatする方法
もしくは、[Save Actions]プラグインを導入することによっても、同じことを実現できます。このプラグインを使えば、Reformat code以外にも色々な検査や修正が自動でできるようになります。例えば、実装クラスのメソッドに@Overrideを自動的に付加するなど。
プラグインのインストール
[IntelliJ IDEA]-[Preferences]-[Plugins]より、[Save Actions]プラグインをインストールする。
[Reformat only changed code (only if VCS configured)]にチェックを入れる。
これで、VCS上で自分が変更を加えた箇所のみ、保存時に自動でフォーマットされるようになる。
その他
なお、このプラグインは[command + s]の保存にしか反応しないので、Vimやその他のキーバインドで保存している人は、Macroを設定する必要があります。
私の場合は、[:w]を押下すると、ファイルの保存が実行されるよう、下記のようにKeymapとMacroを設定しています。
Keymap
Macro