作業手順と参照リンク先のメモです。
Go自体のインストール、環境変数GOROOT, GOPATHの設定は終わっているものとします。
普通にセットアップウイザードを進めていけば良いです。
VS Code上からGo for Visual Studio Codeをインストールします。(インストール方法は割愛)
このGo for Visual Studio CodeはGo言語のシンタックスハイライト、godocを使用したコード補完(つまりインテリセンス)、スニペット、定義への移動、参照先の検索、等々Visual Studio CodeをIDEっぽく使用できるようにするものです。
また、Go for Visual Studio Codeを使用するに当たっては、以下のGoのパッケージをインストールします。
go get -u -v github.com/nsf/gocode
go get -u -v github.com/rogpeppe/godef
go get -u -v github.com/golang/lint/golint
go get -u -v github.com/lukehoban/go-outline
go get -u -v sourcegraph.com/sqs/goreturns
go get -u -v golang.org/x/tools/cmd/gorename
go get -u -v github.com/tpng/gopkgs
go get -u -v github.com/newhook/go-symbols
go get -u -v golang.org/x/tools/cmd/guru
go get -u -v golang.org/x/tools/cmd/goimports
%GOPATH%\bin
にPATHを通すのを忘れないようにしましょう。
デバッグ環境がいらなければほぼこれで終了です。Goのコードを書いてF5キーを押すと自動的にlaunch.jsonファイルが作成され、ファイルがコンパイルされ実行されます。
生成されるlaunch.json
{
"version": "0.2.0",
"configurations": [
{
"name": "Launch",
"type": "go",
"request": "launch",
"mode": "debug",
"remotePath": "",
"port": 2345,
"host": "127.0.0.1",
"program": "${workspaceRoot}",
"env": {},
"args": []
}
]
}
また、コマンドパレットからConfigure Task Runnerを選択実行して出来上がるtasks.jsonを以下のように変更すれば、goimportsをCtrl+Shift+bで実行してGoのコードをビルドし、整形することが出来ます。
{
"version": "0.1.0",
"command": "goimports",
// ビルドコマンドとして登録する
"isBuildCommand": true,
// always=必ず表示 silent=エラー時のみ表示 never=表示しない
"showOutput": "silent",
"windows": {
"command": "goimports"
},
// goimportsのオプション。上書きオプションと編集中のファイルを引数に渡す
"args": ["-w", "${file}"]
}
デバッグ環境
ステップ実行によるデバッグが可能ですが、デバッグに当たってはdelveが必要になります。
以下のコマンドで入手してください。(Windows版もバイナリが配布されるようになりました。)
go get github.com/derekparker/delve/cmd/dlv
delveのインストールさえ上手くいけば、エディタ上にブレークポイントを置いて、Ctrl+F5もしくはコマンドパレットよりDebug Runコマンドでコードにステップインし、ソースコードでバッグ可能です。
【参考】delveのビルド方法
以下のgo getコマンドでソースを入手します。
go get github.com/derekparker/delve/cmd/dlv
GOPATHのsrcディレクトリ以下に配置されるので、移動します。
以下にある手順で、 MinGW-W64をセットアップし、make installします。
Installation on Windows · derekparker/delve Wiki · GitHub
無事makeが動けば$GOPATH/binにdelveの実行ファイル、dlv.exeがコピーされています。
まとめ
これで、WindowsでのGo開発も捗っていくのでは無いかと思います。メモ帳つらいw
[amazonjs asin="477418392X" locale="JP" tmpl="Small" title="みんなのGo言語【現場で使える実践テクニック】"]
[amazonjs asin="4621300253" locale="JP" tmpl="Small" title="プログラミング言語Go (ADDISON-WESLEY PROFESSIONAL COMPUTING SERIES)"]
[amazonjs asin="4798142417" locale="JP" tmpl="Small" title="スターティングGo言語 (CodeZine BOOKS)"]
コメント