- 富山龍之介
- 約 1,600 文字
- 17,800 View
目次
はじめに
こんにちは。TIG/DXユニットの富山です。
私の使用するテキストエディタはVim一択でしたが、最近はVSCodeに浮気気味です(言わずもがな Vimプラグインは入れています)
今回はVSCodeでGo言語用のデバッグ環境をテーマします!
環境構築
前提条件:
- VSCodeがインストール済であること
- Goがインストール済であること
Step 1:プラグインのインストール
Googleが公開しているVSCode用のGoプラグインである、Go for Visual Studio Codeをインストールします(2020年6月に開発管理がMicrosoftからGoogleのGo開発チームへ移管されました)。
インストールが終わったら、Goプラグインに必要な各種ツールをインストールしていきます。
- コマンドパレットを開く(Windows:
Ctrl + Shift+p/ Mac:Command+Shift+p) >Go: Install/Update Toolsと入力する。- 表示されるツールから任意のツールにチェックを入れる。

OKボタンを押下
VSCode上のターミナルに下記表示がされたら成功です。
Tools environment: GOPATH=C:\Users\username\go |
Step 2:デバッガツール delve のインストール
今回はGoのデバッグツールである、delve を使用します。
Step1-3. 表示されるツールから任意のツールにチェックを入れる。
にて、 dlv にチェックを入れている場合、VSCode側でインストールを行ってくれるので、このステップは飛ばして大丈夫です。
インストールを行うために、下記コマンドを実行します。
go get -u github.com/derekparker/delve/cmd/dlv |
インストールが完了したら、ターミナル上で dlv コマンドが実行できることを確認してください。
dlv version |
使ってみた
それではVSCodeからデバッグを行ってみましょう。
手始めにVSCodeで簡単なGoプログラムを書いてみます。
package main |
デバッグのセットアップ
launch.json の作成
- VSCodeの
RUNコンソール画面に移動 create a launch.json file.を押下- VSCode中央上部に
Select Environmentと表示されるので、Go Dlv (Experimental)を選択
上記 3終了後に .vscode/launch.json ファイルが生成されます。
デフォルトでは、typeフィールドが "type": "godlvdap" となっているので、"type": "go" へ書き換えましょう。
{ |
ちなみに、単体テストのデバッグを行う場合は、下記のように設定します。
"mode": "test", |
argsに-test.vとすることでverboseモード- テスト関数単位で実行する場合は
-test.runと置き、対象とするテスト関数名を記載します(例だとTestYourFunc)
今回は紹介しませんが、launch.json には他にも予約語の属性が存在するので、興味をお持ちの方はこちらをご参照ください。
いざ、デバッグ
さぁ、実行してみましょう。
9行目にブレークポイントを設定してみます(行番号の左側をクリックで設定)
赤丸が該当行左側に表示されたら、設定完了です。
ブレークポイントの設定が終わったら、 F5キーで実行してみます。
RUNコンソールのVARIABLES部分にて、ブレークポイントで設定した行の変数の中身が確認できていますね。これは便利です。
また、VSCode画面中央上部に表示されているパネルでContinueをはじめ、Restartなどの操作ができます。
関連情報
VSCodeのGo周りでは多賀さんの記事もオススメです。
市川さんの記事のVSCodeの拡張機能の共有方法すると便利です。
おわりに
これでデバッグ用にPrint文を埋め込んだままcommitしてしまう自分にオサラバです👋
デバッグ機能をフル活用して快適な開発ライフを。