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でトライしておりませんで。。