前提として、home brew と golang がインストールされていること
brew install go
go version
#1. GOPATHを通す
export GOPATH=/Users/username/go
export PATH=$GOPATH/bin:$PATH
source ~/.bash_profile
#####<解説>
ターミナルを開き、上から順に実行。
・GOPATHという環境変数に /Users/username/go
を代入
・PATHという環境変数に $GOPATH/bin
を代入。※実質 /Users/username/go/bin
という文字列に
※$PATH
は terminalでecho $PATH
とした時に設定されている環境変数
例:PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
のPATHで、そのPATHに追加するよってこと
※$GOPATH/bin:$PATH
と書けば、上記の例で言うと
/Users/username/go/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
と追加され、逆に
$PATH:$GOPATH/bin
と書けば、
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/username/go/bin:
と追加される。
※コマンド検索される時に、PATHに書かれている左から検索されるので、よく使うコマンドのbinのパスは左に書いておくと良い
・source
というLinuxコマンドを打って、ファイルの変更内容を起動中のターミナルに反映させる。
※sourceコマンドを打たないと、その変更が反映されないので、ターミナルから抜けて再起動する必要がある。
※変更したのにあれ?と思ったら、一回ターミナルを抜けて再起動なんか試すと良い
#2. GoプラグインをVS Codeにインストール
・VS Code用のGoプラグインを入れる
VisualStudio | Marketplace: Go for Visual Studio Code
#3. Goプラグインに必要な各種ツールをVS Codeにインストール
・VS Codeでコマンドパレットを開く Command + Shift + p
・>Go: Install/Update Tools
と入力する
・表示されるツールから任意のツールにチェックを入れてOKボタンを押す。
※大体以下のようなツールが出てくる
tools |
---|
gocode |
gopkgs |
go-outline |
go-symbols |
guru |
gorename |
gotests |
gomodifytags |
impl |
fillstruct |
goplay |
godoctor |
dlv |
gocode-gomod |
godef |
golint |
※dlvがdelveにあたるツールで、デバッグに必要
・dlv version
コマンドでdelveのバージョンを確認。
※ちゃんとバージョンが確認されれば、パスも通っているし、ダウンロードされたことを確認できる
#4. デバッグのセットアップとして、launch.jsonを作成する
・VS CodeのRUNコンソール画面に移動
※左のデバッグ矢印ボタン[▷]
を押すとそれがRUNコンソール
・To customize Run and Debug create a launch.json file
のcreate~.jsonをクリック
・VS Code中央上部に Select Environment
と表示されるので、 Go Dlv (Experimental)
を選択
※選択後に .vscode/launch.json
ファイルが生成される
#5. launch.jsonの編集
・デフォルトでは、typeフィールドが "type": "godlvdap"
となっているので、"type": "go"
に書き換える
※以下、参考までに、
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Debug",
"type": "go",
"request": "launch",
"mode": "debug",
"program": "${workspaceFolder}/src",
"env": {
"PORT":00000,
"LOG_LEVEL":"debug",
"AWS_ACCESS_KEY_ID":"XXXXX",
"AWS_SECRET_ACCESS_KEY":"YYYY",
"AWS_DEFAULT_REGION":"ap-northeast-1",
"S3_BUCKET_USERS":"username.sandbox.users",
"JwtExpiration":60
},
// "args": []
}
]
}
#####<解説>
・name
は、VS Code側で表記するrunボタンのデバッガ名
・type
は、Goなど言語の指定を書く
・program
は.vscode/launch.json
が置かれている該当のディレクトリパスを指定
・env
に環境変数の引数を持たせることも可能。PORTを指定したり、AWSのKEYとかも設定できる
指定できる属性:debugging#_launchjson-attributes
#6. VS Codeでデバッグポイントを起き、run/debugを実行する
・プログラムを止めたい該当箇所に、デバッグポイントを起き、実行。止まることを確認。
#7. これでデバッグができる
うれしみ
以上、
ありがとうございました。