Help us understand the problem. What is going on with this article?

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

More than 3 years have 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で出力するといいかも 

syoya
WakkaというSNSを開発しています。
https://syoya.com
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away