Commitする前に毎回Command+Option+Lでフォーマット整形してControl+Option+Oでimport整理するの面倒だったので、保存時に自動的にフォーマット整形+import整理するようにしてみました。
AndroidStudioのマクロ機能を使って2分でできたので手順をメモしておきます。
1. マクロ記録開始
AndroidStudioには、一連の操作を登録できるマクロ機能があります。
Android Studio > Edit > Macros > Start Macro Recordingを押したあと操作して、終わったらStop Macro Recordingを押すだけです。
まずは、Start Macro Recordingをクリックします。
2. マクロの登録
今回は、Reformat Code、Optimize Import、Save Allの操作を記録したいので
Code > Reformat Codeをクリックしたあと、Code > Optimize Importをクリックします。
Optimize Importをクリックしたあとでダイアログが表示された時は、ダイアログの中のRearrange entriesにチェックを入れてRunボタンを押してください。
最後に、File > Save Allをクリックすればマクロの操作は終了です。
3. マクロの保存
Macros > Stop Macro Recordingをクリックしてマクロの登録を終了します。マクロに名前をつけるよう言われるので、適当な名前をつけてください。
4. ショートカットキーのバインド
保存はCommand+Sでやるので、ショートカットキーを変更しておきます。
Android Studio > Preferences > Keymap > Macrosから、先ほど作ったマクロを選択して右クリック。
Add Keyboard ShortcutでCommand+Sをバインドします。元のキーバインドを消していいかという警告が出ると思うので、OKを押してください。
5. マクロのエクスポート
以上で保存時に自動的にフォーマットがかかるはずです。もしチーム全体でこのマクロの設定を共有したい場合は、設定をエクスポート・インポートすることができます。
Android Studio > File > Export Settingsをクリックします。ダイアログに、どの設定をエクスポートするかチェックボックスが並んでいるので、Macrosだけ選択して他はクリアします。Key mapsも選んでもいいのですが、独自にキーバインドしている人の設定とコンフリクトする可能性があるので外しておきました。
OKを押すとsettings.jarというファイルをエクスポートできるので、チームメンバーに渡して、Android Studio > File > Import Settingsからマクロをインポートしてもらいましょう。
以上!コードが自動的に読みやすくなっていい感じです。
マクロ機能はもっと使いこなせば色々捗りそうです。


