IDEが流行りと聞きつけ、人気取りのためにIntellijへGo開発環境をつくりました。
(急いで公開なので、わりと後半雑です。。。ごめんなさい)
前提環境
他の環境で動かなかったらゴメンナサイ。
- Mac Yosemite
- go version go1.4.2 darwin/amd64 (
brew install go)
Go基本設定
Goの基本的なインストールは済んでいるものとします。
※Goのインストール、GOPATH, GOROOTの設定。他の記事などをご参考に!!
Go開発環境のためのIntellij package
Intellij Pluginインストール
go-lang-idea-plugin
README.md の通りに進めていきます。
- メニューバーの、
intellij IDEA>Preferences>Pluginsを選ぶ -
Browse repositoriesをクリックする -
Manage repositoriesをクリックする -
+を押してレポジトリURLを追加(安定度 alpha > nightly) -
OKをクリックする - 検索窓で
Goと入れると、プラグインがでてきます。右ウィンドウのボタンからインストールしましょう
設定
SDK設定
- メニューバーの、
File>Project Structure>Platform SettingsのSDKsを選ぶ -
+ボタンを押して、GoのSDKを追加しましょう。 -
Go SDK home path-
$GOROOTのフルパスを追加 例:/usr/local/Cellar/go/1.4.2/libexec
-
-
Classpath-
$GOROOTのフルパスを追加
-
-
Sourcepath-
$GOROOT/srcのフルパスを追加 -
$GOPATH/srcのフルパスを追加
-
-
OKをクリックする
Project設定
- メニューバーの、
File>Project Structure>Project SettingsのProjectを選ぶ -
Project SDKに先ほど作成したSDKを選択してください -
OKをクリックする
goimpors & golint 設定
何はともあれ、保存時にgoimports & Literは動かしたい
でもプラグインがないのでgoのコマンドツールのお世話になります。
ツールをインストール
$ go get -v golang.org/x/tools/cmd/goimports # -> gofmtの拡張コマンド
$ go get -v github.com/golang/lint/golint # -> linter
shell作成
/usr/local/bin 辺りに、goimports & golint を動かすシェルを作ります
goimp.sh
# !/bin/sh
if [[ $1 == *.go ]]
then
/usr/local/bin/goimports -w $1
fi
golint.sh
# !/bin/sh
if [[ $1 == *.go ]]
then
/usr/local/bin/golint $1
fi
実行権限をつけるのをお忘れずに!
$ chmod 755 /usr/local/bin/goimp.sh
$ chmod 755 /usr/local/bin/golint.sh
IntellijのExternal Toolsに追加登録
マクロを作成
-
メニュー > Edit > Macros > Start Macro Recordingでマクロの保存を開始する
2.メニュー > Tools > format > goimports選択
3.メニュー > Tools > lint > golint選択
4.メニュー > File > Save all選択 -
メニュー > Edit > Macros > Stop Macro Recordingでマクロ保存を停止する。 - このマクロに
goimports_golint_saveallという名前をつける。
マクロをKeymapへ割り当て
そのマクロの実行をKeymapで command + s に割り当てると完成です。
- メニューバーの、
intellij IDEA>Preferences>Keymapを選ぶ -
Macros > goimports_golint_saveallへcommand + sを割り当てる
最後に
これでうまく動かない場合はぜひコメ欄で教えて下さい。さらの状態のMacでトライしておりませんで。。


