Edited at

IntelliJ で Go ファイル保存時に整形する

More than 1 year has passed since last update.

いままでは IntelliJ の external tool として goimports を設定して、ファイル保存時に goimports を実行するマクロを作って、ファイル保存キーマップを置き換える方法で実現してた。ただ、新しい pc に変えたときとか IntelliJ アップデートした場合とかに再設定するのが面倒で、もっと簡単な方法ないかなーと思ったら File Watchers ってプラグインが良かった。

2017/11 追記: 本記事では IntelliJ を対象としていますが、Gogland や GoLand でも同じ方法で OK です。今だったら goimports より goreturns がオススメかな。


プラグインをインストールして、

install plugin

Custom テンプレートで新しい設定項目開いて、

new config

goimports のパスをこんな感じに設定(追記: Immediate file synchronizationは無効のほうが良い)して、

edit config

Apply するだけ。

run 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