読者です 読者をやめる 読者になる 読者になる

技術備忘記

日々調べたこととかとりとめなく

IntelliJ IDEAでファイル保存時にgoimportsする

golang IntelliJ Go

小ネタです。 やろうと思いつつ出来てなかったのですが、 goimportsしないで許されるのは2015年までだよねー、ということでやってみました。

Version

IntelliJ IDEA Version 14.0.3

goプラグインの導入

まずこちらを入れます

goimportsショートカットの割り当て

Preferences > Appearance & Behavior > Keymap > plug-ins > Go で確認します。デフォルトだとショートカットが割り当てられていないので、 適当に割り当てを行います f:id:junchang1031:20160119004047p:plain

ここでは、shift + option + Command + G に割り当てます。 どうでもいいですがこのまま使うと発狂しそうなkemapですね^^;

マクロの登録

Edit > Macros > Start Macro Recroding

を実行し、先ほどのショートカットをタイプします。 その他は余計な操作をせず、

Edit > Macros > Stop Macro Recroding

を実行します。 名前を付けて保存します。 goimports とでもしておきましょう。

マクロの割り当て

Preferences > Appearance & Behavior > Keymap > Macros に goimportsが出来ていると思います。 f:id:junchang1031:20160119004840p:plain

私はvimキーバインドを使っているので、こちらに:wのkeymapを割り当てます。 Vimmerじゃない方は Ctrl + S などに読み替えてください。 f:id:junchang1031:20160119004918p:plain

(※追記 この設定だとVimプラグインのコマンドモードが侵食されてしまいます。 私はとりあえず Ctrl + Sに設定してお茶を濁しました。なにかよい方法があれば更新します..)

適当なファイルを編集して想定通りに動けばOKです。

before

package main

import (
    "fmt"
    "os" // not used.
)

func main() {

    fmt.Println("foo")
}

保存(:w)

after

package main

import "fmt"

func main() {

    fmt.Println("foo")
}

大丈夫そうですね。 これでGopher達にキモーイと言われずに済みそうです。