読者です 読者をやめる 読者になる 読者になる

今川館

都内勤務の地味OLです

Visual Studio Codeを使ってGoのコードをデバッグする

Go初学者

Goのデバッガ

Goでデバッガを使いたい場合、gdb, delveといったツールは初心者には操作が難しい。
(コマンドラインからbとかlとかpとか入力して、ブレークポイントの設定からやらなければならないので、わたしには厳しかった)

しかし、Visual Studio CodeのGo拡張機能が無料で利用可能なので、これを使うと簡単にデバッグできる。

インストールが必要なもの

以下3つインストールが必要。

  1. Visual Studio Code
  2. Visual Studio CodeのGo拡張機能
  3. delve https://github.com/derekparker/delve

Visuao Studio CodeのGoの拡張機能が裏でdelveを操作することでGUIデバッグ機能を提供しているので、delveも入れる必要があることに注意。

前提条件

  • 今回はUbuntu16.04の64ビットデスクトップ版で実施
  • GOPATHは$HOME/_go とした (わたしのパソコンでは/home/echizen/_go)
  • $HOME/_go/src/github.com/{ユーザー名}/ 配下に自分のリポジトリをcloneする

インストール手順 (Ubuntu16.04 64ビットデスクトップ版で実施)

Visual Studio Codeをダウンロードします。

$ firefox https://code.visualstudio.com/download

f:id:imagawa_yakata:20161209132833p:plain

「.deb」のリンクを押します。
(32ビットのパソコンを使っている人は「32bit versions」のページでやって下さい)

そうすると「code_チョメチョメ.deb」のダウンロードの許可を求めるポップアップウインドウが開きます。

f:id:imagawa_yakata:20161209132836p:plain

ここで「ファイルを保存する」を選びます。
上記debファイルが所定の場所にダウンロードされます。
(わたしの場合は「ダウンロード」配下にファイルが保存されました)

ダウンロードしたdebファイルをインストールします。

まず、debファイルを保存した場所へ移動します。

$ cd ~/ダウンロード

インストールコマンドを実行します。

$ sudo dpkg -i code_1.7.2-1479766213_amd64.deb

f:id:imagawa_yakata:20161209132838p:plain

Visual Studio Codeが起動できることを確かめます。

$ code

f:id:imagawa_yakata:20161209132841p:plain

こんな画面が開いたらokです。

Goの拡張機能をインストールします。
これが無いと画面からブレークポイントを設定し、デバッグできません。

Visual Studio Codeの画面左側最下の「拡張機能」のアイコンを押します。

検索ボックスに「Go」と入力すると「Go/Rich Go language support for Visual Studio Code」という候補が出てくるので、それの「インストール」を押します。

f:id:imagawa_yakata:20161209132850p:plain

Goのプロジェクトを用意します。

$ export GOPATH=/home/echizen/_go

$ mkdir -p /home/echizen/_go/src/github.com/oyakata/
$ cd /home/echizen/_go/src/github.com/oyakata/
$ git clone git@github.com:oyakata/tokyo.git
$ cd tokyo

delveをインストールします。

https://github.com/derekparker/delve/blob/master/Documentation/installation/linux/install.md

このページの説明に従って、作業を行います。
(今回はgo getでやりました)

$ go get github.com/derekparker/delve/cmd/dlv

(プロンプトが返ってくるまで少し時間がかかります)

ここまで成功すればVisual Studio Codeの画面からデバッグ可能です。

実際にデバッグをやってみます。

Visual Studio Codeの画面を開きます。
(既に動作確認で開いた画面は一度閉じて、開き直しておいた方が良いでしょう)

$ code

画面左最上のファイルのアイコン「エクスプローラー」を押して、「フォルダーを開く」ボタンを押して、プロジェクトディレクトリを開きます。

f:id:imagawa_yakata:20161209132844p:plain

先ほど用意したプロジェクトを選択し、「OK」を押します。

f:id:imagawa_yakata:20161209132847p:plain

すると、Visual Studio Codeの画面の左側にプロジェクトの構成が読み込まれるので、デバッグしたいファイルを開いて行番号の隣の赤い●を押すとブレークポイントを設定できます。

f:id:imagawa_yakata:20161209132852p:plain

画面左の下から2番め「デバッグ」アイコンを押すと、デバッグ実行できます。

初期状態だと「構成がありません」と表示されるので、赤い●が付いている歯車アイコンを押して「Go」を選択して下さい。

f:id:imagawa_yakata:20161209132854p:plain

f:id:imagawa_yakata:20161209132856p:plain

あとは、デバッグの右にある▶を押せばデバッグ機能が使えます。

f:id:imagawa_yakata:20161209132859p:plain

以上