gocode で appengine を補完する


SDK に添付されている "appengine" パッケージを gocode で補完するには以下を実行する

gocode set lib-path "$(goapp env GOROOT)/pkg/$(goapp env GOOS)_$(goapp env GOARCH)_appengine"
gocode close # いったん gocode daemon を終了する

詳細

goapp コマンドは中で何かをして勝手に "appengine" パッケージを見つけてくれるが、 gocode はみつけてくれないので補完が効かない。調べたところ gocode はデフォルトで $GOPATH/pkg/$GOOS_$GOARCH$GOROOT/pkg/$GOOS_$GOARCH だけを検索するため "appengine" 補完が効かない。なので検索パスを適切に設定すればいい。

そういうわけで goapp env GOROOT 以下を見てみたところ pkg/darwin_amd64_appengine のように普段とことなり _appengine というプレフィックスがついていることに気がつき、上記のコマンドでパスを追加したらうまくうごくようになった次第。

参考