(*うまくいかないので継続監視中)
OS: OSX Yosemite 10.10.4
Darwin Kernel Version 14.4.0
#1. VSCodeの利用
https://code.visualstudio.com/
からOSX用をダウンロードしてApplicationフォルダにコピーして起動します。
#2. GO拡張のインストール
GO拡張もこちらを見ながら入れます。
こちらも参考に。
(F1を押すとテキスト入力が画面上部に表示されるので、extensionと入力して、InstallExtentionを選択。
ext installと表示されるのでgoと入れるとGoExtentionが選択可能になる。)
#3. settings.json
進んでいるといつの間にか、.vscodeというディレクトリができていて、その中にlaunch.jsonとtasks.jsonが作成されています。
新規にsettings.jsonを作成して下記コードをコピペして保存します。
*1"go.goroot"はwhereした結果で書き換えます。
*2"go.gopath"はecho #GOPATHした結果で書き換えます。
*3エディタを再起動しましょう。
{
"go.buildOnSave": true,
"go.lintOnSave": true,
"go.vetOnSave": true,
"go.buildFlags": [],
"go.lintFlags": [],
"go.vetFlags": [],
"go.useCodeSnippetsOnFunctionSuggest": false,
"go.formatOnSave": false,
"go.formatTool": "goreturns",
"go.goroot": "/usr/local/go",
"go.gopath": "/Users/murotanimari/work"
}
F1を押すと下記のように使えるコマンドが増えています。
#4. delveのインストール
OSX用には自己証明の作成が必要みたいです。
delve
4.1 証明書作成
1.キーチェーンアクセスを開く
2.キーチェーンアクセス>証明書アシスタント>証明書作成
名前:dlv-cert
固有名のタイプ:自己署名ルート
証明書のタイプ:コード署名
デフォルト無効化をチェック
3.続ける
4.有効期間を任意に変更
5.続けてください。
6.証明書の場所を指定
キーチェーン: システム
(もしエラーになる場合にはloginキーチェーンに格納してexportしてください。その後Systemキーチェーンに格納できます。)
7.公開/秘密鍵アクセス制御変更
(Yosemite以降は)右クリック>情報を見る>アクセス制御
この項目を仕様を全てのアプリケーションに許可へ変更保存
8.再起動
1.キーチェーンアクセスを閉じる
2.taskgatedをkillするかOS再起動
4.2. delveのmake
*1 taskgatedをkillします
*2 makeの引数として先ほど作成した証明書を指定します。
cd ~/work/src/github.com/derekparker
git clone https://github.com/derekparker/delve.git
cd delve
sudo su
GO15VENDOREXPERIMENT=1 CERT=dlv-cert make install
##4.3. デバッガ動作確認
delvコマンドがちゃんと動くか確認します。
パスなどの設定が間違っていて動かない場合には適宜修正します。
cd $GOPATH
cd src/github.com/derekparker/delve/cmd/dlv
$GOPATH/bin/dlv debug main.go
Rootでないと動かない場合に下記のようなエラーが出ます。
[murotanimari]$ $GOPATH/bin/dlv debug main.go
could not launch process: could not fork/exec
#5. launch.jsonの設定
一旦VSCを再起動してlaunch.jsonを作成します。
{
"version": "0.2.0",
"configurations": [
{
"name": "Launch",
"type": "go",
"request": "launch",
"mode": "debug",
"program": "${workspaceRoot}",
"env": {},
"args": []
}
]
}
#6. デバックExtensionのビルドと追加
~/.vscode/extensionsに移動し何もないことを確認します。
rm -rf ~/.vscode/extensions/lukehoban.Go
cd ~
git clone https://github.com/Microsoft/vscode-go
cd vscode-go
npm install
他のツールもインストールします。
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-find-references
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
#7. VSCで起動
root以外のユーザーで起動するのでエラーが出てしまいます・・・・。
sudoでVSCを起動しても起動時には関係ないみたいです・・・。
VSCODE_CWD="$PWD" sudo open -n -b "com.microsoft.VSCode" --args $* ;