いままでは IntelliJ の external tool として goimports を設定して、ファイル保存時に goimports を実行するマクロを作って、ファイル保存キーマップを置き換える方法で実現してた。ただ、新しい pc に変えたときとか IntelliJ アップデートした場合とかに再設定するのが面倒で、もっと簡単な方法ないかなーと思ったら File Watchers ってプラグインが良かった。
2017/11 追記: 本記事では IntelliJ を対象としていますが、Gogland や GoLand でも同じ方法で OK です。今だったら goimports より goreturns がオススメかな。
プラグインをインストールして、
Custom テンプレートで新しい設定項目開いて、
goimports のパスをこんな感じに設定(追記: Immediate file synchronization
は無効のほうが良い)して、
Apply するだけ。
簡単に設定できるし Go ファイルだけに適用されるのでオススメ。結構有名なプラグインっぽいけど初めて知ったので忘却メモとして書いてみた。他の外部ツールを実行する際にも使えそう。あと Immediate file synchronization
オプションを有効にするとファイルの変更を検知したタイミングで自動整形されるけど、カーソルがズレて面倒だから無効にして保存時のみにしたほうが良かった。
元ネタ:
http://marcesher.com/2014/03/30/intellij-idea-run-goimports-on-file-save/
http://jen20.com/2015/09/14/gofmt-or-goimports-in-intellij.html