情報が古いので注意ください。golang pluginは現在1.0.0のalpha版が出ており、限界がありますがリファクタリング、ブレークポイントともに対応しています。
TL;DR IntelliJ IDEA + golang plugin は現時点で一番マトモだと思いました。
Go のエディタ、今まで Sublime Text 3 の GoSublime でやってきていたのですが、どうもしっくりこない…
趣旨が違うのはわかるのですが、Sublime Text 3 の project の扱いがどうも慣れませんでした。
IDE 厨らしく素直に IDE を使おうと思い立ち、探してみると IntelliJ IDEA には golang plugin あるみたいですね。
導入にあたり少し嵌りどころがありましたので共有まで。
1.IntelliJ IDEA 入れてなかったらインストールする
お値段が高いことで有名な IntelliJ IDEA ですが今は無料エディションがあります。良い時代ですね。
から Community Edition をダウンロードします。
2.golang plugin を入れる
IntelliJ IDEA -> Preferences -> Plugins
に行き、 "golang" と入れて、下記プラグインを入れます
Go SDK の場所を聞かれますが、普通にやれば大丈夫です。(以下 /usr/local/go
であることを前提に話を進めます)
3.GOPATH
と GOROOT
で嵌るので fix する
GOPATH
と GOROOT
を如何にちゃんと設定していようが、何故か認識してくれないので、下記ページを参考に環境変数を設定し直します。
launchctl setenv GOROOT /usr/local/go
launchctl setenv GOPATH ~/Goprojects
~/Goprojects
は各自 GOPATH
を突っ込んでください。
これで IntelliJ 起動時に GOPATH ないとかで怒られなくなります。
4.import
が上手く動かないので fix する
GOPATH
をきちんと設定していても import
が上手く動きません。
import path を上手く認識してくれてないようですね。
多少強引ですが Source path に自前でぶちこみます。
- Project tree の External Libraries を右クリックし、Open Library Settings を選択します。
- 設定項目に Classpath, Sourcepath とありますので, Sourcepath を開きます
- Sourcepath に
$GOPATH/src
と$GOPATH/pkg/darwin_amd64
(Mac の場合) にあたるディレクトリを追加します。追加は下にある + ボタンで。
以上によりキチンと動くようになります。
機能紹介
オンタイムの Syntax check
このへんがエディタとは違うところです。
エディタとは違うんだよ!エディタとは!(スミマセン)
Go 特有の warning も
使ってない変数はもちろん怒られます。黄色とかじゃなくて赤いのが潔い。
受けてない返り値のチェック
まともな開発環境という感じです。
型チェック
最高
import
の補完
自動 import
Alt + Enter で import
してない package を import してくれます
メソッド補完
当たり前ですがメソッド補完があります。GoSublime にもあるみたいですが何故か動きませんでした。
リファクタリング(ない)
Not implemented yet!!!!!
Breakpoints (ない)
アッハイ
gofmt
保存時に自動でしてくれたりはしません(GoSublime はしてくれた)
Alt + Enter
IntelliJ 様の Alt + Enter の恩恵を享受することが出来ます
ちなみに自動で return type を string にしてくれたりはしませんでした。
まとめ
個人的な感想です。
GoSublime よりは遥かにマシです。マトモに開発出来る環境という感じがします。
Refactoring が未実装であったり、ブレークポイントとか色々足りてないのは多少感じますが…
まあでも、静的解析ちゃんとオンタイムでやってくれるのは、安心感違いますね。
端的に、現時点での Go が扱える開発環境としては一番マトモです。
Xcode とか Android Studio とか RubyMine とか PyCharm とか、あるいは IntelliJ IDEA 自身を使ってきた方は、最も抵抗が少ない開発環境ではないかと思います。
References
- Setting up the Google Go plugin with IntelliJ IDEA 13 on OS X 10.8.5 - Pivotal Labs : http://pivotallabs.com/setting-google-go-plugin-intellij-idea-13-os-x-10-8-5/
- go-lang-idea-plugin/Missing ENV.md at master · go-lang-plugin-org/go-lang-idea-plugin : https://github.com/go-lang-plugin-org/go-lang-idea-plugin/blob/master/Missing%20ENV.md