#初めに
VisualStudioCodeがgoの開発環境として使い勝手が凄くいいです。
debugも現状でスタックトレースくらいは見れるのでcode読むには十分です。
GAE/Goに再挑戦してみようかと思い環境を作れないか調べてみましたので纏めます。
設定
vscode-go/READMEとdelve/Buildingの日本語訳
等を参考にVisualStudioCode でgo開発環境をすでに整えている前提です。
またGAE/GoのSDKはbrewを使いインストールしています。
$ brew install app-engine-go-64
以下のようにgocodeにappengineのライブラリへのpathを教えてあげます。
gocode set lib-path "/usr/local/share/app-engine-go-64/goroot/pkg/darwin_amd64/"
設定内容は ~/.config/gocode/config.json
に反映されます。
後はプロジェクトを開いた時に ⌘+shift+p
→ "open workspace Settings" で設定ファイルを作り
settings.jsonに追記します。
プロジェクトごとに毎回設定します。
settings.json
{
"go.goroot": "/usr/local/share/app-engine-go-64/goroot"
}
これだけだとgoコマンドが見当たらないと怒られるのでgoappコマンドをgoにリンクします。
$cd /usr/local/opt/app-engine-go-64/share/app-engine-go-64/goroot/bin
$ln -s goapp go
$ls -l
lrwxr-xr-x 1 m0a admin 5 2 26 12:05 go -> goapp
-rwxr-xr-x 1 m0a admin 4704368 1 20 19:41 go-app-builder
-rwxr-xr-x 1 m0a admin 9591716 1 20 19:41 goapp
-rwxr-xr-x 1 m0a admin 16582180 1 20 19:41 godoc
-rwxr-xr-x 1 m0a admin 3581136 1 20 19:41 gofmt
gopkgsコマンドがシンボリックリンクを解決できないみたいなので、対応版を導入します。
$ go get -u github.com/m0a/gopkgs