Gogland で保存時に go fmt を走らせる

More than 1 year has passed since last update.


追記

2017/07/04

Settings > Go > On Save > On save run で設定できるようになってました。

go imports を選んでおくと保存時にgo fmt, go import が走るので便利です。


Gogland とは

JetBrains が提供する Go 言語用の IDE

公式

JetBrains Gogland: Up and Coming Go IDE


保存時に go fmt を走らせる

デフォでやってくれないので自前で設定する必要あり


JetBrains 用のプラグイン File Watchers を入れる

[Preferences] -> [Plugins] -> [Install JetBrains plugins] から File Watchers で検索、インストール、再起動

スクリーンショット 2017-01-17 16.03.06.png


File Wathchergo fmtの設定を登録する

[Preferences] -> [Tools] -> [File Watchers] -> [+] ボタンから新規作成

Choose Template は <custom> を選択する

スクリーンショット 2017-01-17 16.11.22.png

New Watcher は以下のように設定する

Name: Go fmt (わかりやすい名前を適宜)

File type: Go

Scope: Project Files

Program: /usr/local/bin/go 1

Arguments: fmt $FileDir$/$FileName$

スクリーンショット 2017-01-17 15.50.03.png

あとは再起動すれば保存時にgo fmtが走ってフォーマットされる


追記

自動保存とfmtの相性が悪く go fmt を使いやすいショートカットに割り当てるのが良さそう

私は手癖がついている cmd+S に割り当てました

@yagihiro さんより、コメントにて


自動保存のくだりのところ、

Immediate file synchronization のチェックを外すことで期待通りの動作になるかと思いますのでお試しくださいませ。


自動保存を切って、この設定を外すのが良さそうです。





  1. コマンドgoへのパス。わからない場合はwhich goで出力するといいかも