Macのローカル環境にVisual Studio CodeでGoの開発環境を構築する
phpやhack、go、ruby on rails等ちょくちょく触れる機会があるのですが、
Java出身者としては、eclipseで得たユーザー体験が忘れられず、
goの開発環境を真面目に作ってみることにしました。
各バージョンについて
Mac : OSX(10.11.6 ElCapitan)
Go : go1.8
VSCode : 1.12.1
VSCodeをダウンロード
以下のサイトから最新版のVisual Studio Codeをダウンロードしてインストールします。
Visual Studio Code - Code Editing. Redefined
Atom, intelliJを触っていましたが、どちらもグッと来ず。
今回はVisualStudioCodeで環境構築します。
gvmの設定
ローカルにGoをインストールしていない人はGoをインストールします。
自由にgoのバージョンを切り替えれるので今回はgvmを利用します。
brewでインストール済みの人でも全く問題無いと思います。
gvmのインストール
インストールは以下のコマンド一発です。
bash < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer)
完了したら以下のコマンドの実行をもとめられるので実行しましょう。
source $HOME/.gvm/scripts/gvm
.bash_profile
を編集して、ターミナル起動時にも実行されるようにします。
vi ~/.bash_profile #以下の一行を追加 [[ -s ~/.gvm/scripts/gvm ]] && . ~/.gvm/scripts/gvm
goのインストール
gvmのインストールが完了したら、gvmを使ってgo言語の最新版をインストールします。(現在は1.8が最新)
gvm install go1.4 gvm use go1.4 gvm install go1.8 gvm use go1.8
※僕のローカルでは普通にインストールを出来ないという現象が発生したので、バイナリオプション-B
を設定してバイナリからインストールするようにしました。古いバージョンのgoが入っていないからインストール出来ない
という旨のエラーが出る場合は、古いバージョンから順番にインストールしていきましょう。
追記 : どうやらSierra以降、go1.4等のコンパイルに失敗するようになってしまっているようです...
デフォルトで利用するgoの設定
このままではデフォルトで利用するgoのバージョンが設定されないようなので、自分は.bash_profile
に以下の設定を追記しています。
vi ~/.bash_profile #以下の一行を追記 gvm use go1.8
VSCodeの設定
次にVisual Studio Codeの設定をしていきます。
拡張機能のインストール
画像のようなネズミが目印の拡張機能をインストール、画面の支持に従ってVSCodeを再起動して下さい。
Go - Visual Studio Marketplace
GOPATH, GOROOTの設定を確認
正常に動いていれば特に必要無い作業ですが、 僕の場合はGOPATH, GOROOTが読み込まれず画像のようなエラーが出続けて少しハマったので、記載しておきます。
※Cannot find "go" binary. Update PATH or GOROOT appropriately.というエラーが表示され続けた。
ヘルプ→開発者ツールの切り替え
からConsole
を立ち上げます。
以下のそれぞれを入力して、値が正常に取れれば大丈夫です。
process.env['GOROOT'] process.env['GOPATH']
正常に値が取れる場合は以下のような表示になります。
GOROOT, GOPATHがそれぞれ設定されているのに、値が正常に取れない場合は1番から順に試してみましょう。
1.VSCodeを再起動 2.VSCodeをアップデート 3.Macを再起動 4.VSCodeをインストールしなおす - VSCodeをアンインストール - sudo rm -r /usr/share/code - VSCodeを再度インストール
関連パッケージのダウンロード(1)
次に関連パッケージをダウンロードしていきます。
適当な.go
ファイルを作成して、作業を始めるとサジェスションが表示されるので、サジェストされるままにinstall
ボタンをクリックしていきます。
※各パッケージに興味のない人はInstall All
でいいと思います。
ダウンロードしたパッケージの確認
そんな感じで5つ程パーケージがダウンロードされると思います。
github.com/tpng/gopkgs github.com/nsf/gocode github.com/rogpeppe/godef github.com/golang/lint/golint sourcegraph.com/sqs/goreturns
インストールされたパッケージの一覧は以下のコマンドで確認可能です。
ls $GOPATH/bin
関連パッケージのダウンロード(2)
更に必要なパッケージのダウンロードを行います。
エディタ右下のAnalysis Tool Missing
と表示される部分をクリックでダウンロードできます。
すると以下のパッケージも追加でダウンロードされます。
go-outline go-symbols guru gorename gomodifytags godef goreturns golint gotests
関連パッケージのダウンロード(3)
デバグ用のパッケージDelveをダウンロードしておくと、F5でデバッグが可能です。
go get -u -v github.com/derekparker/delve/cmd/dlv
統合ターミナルの表示
完全に寄り道ですが、表示→統合ターミナル
から統合ターミナルを表示しておくと、実行されるコマンドと結果が見れたりします。
以上で基本的な環境構築手順は完了です。
これでcommand
ボタンを押しながらメソッド名をクリックするとメソッド定義にジャンプできたりします。