How to use Delve debugger in Visual Studio Code
For using Delve debugger in Visual Studio Code with Golang, do the following steps:
( Note: for Windows OS replace all $GOPATH with %GOPATH% )
- Install Latest Golang and set
GOROOT
andGOPATH
- Add
$GOPATH/bin
to your OSPATH
environment variable. - set environment variable:
GO15VENDOREXPERIMENT = 1
- run:
go get github.com/derekparker/delve/cmd/dlv
and make suredlv
binary generated in your$GOPATH/bin
- Install Visual Studio Code
- Launch VS Code Quick Open (Ctrl+P), paste this command:
ext install Go
, and press enter. - click install
Rich Go language support for Visual Studio Code
- click
Enable
and restart Visual Studio Code - Inside
Visual Studio Code
Open Folder Ctrl+Shift+E , e.g.:$GOPATH\src\hello\
- Then Open
hello.go
from that folder (or make new file Ctrl+N and save it on this folder):
package main
import "fmt"
func main() {
fmt.Println("Hello World!")
i := 101
fmt.Println(i)
}
- Then Open Debugger Ctrl+Shift+D
- on this line:
i := 101
press F9 to set or toggle beakpoint. - Press F5 to start debugging or to Run the application, if asked to select environment: select
Go
. - Press F10 to Step Over.
- Press F11 to Step Into.
- Press Shift+F11 to Step Out.
- Press Shift+F5 to Stop Debugging.
- Press Ctrl+Shift+F5 to Restart Debugging.
My launch.json
untouched:
{
"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": [],
"showLog": true
}
]
}
Result:
You have to do three things here:
- Install Delve. Looking at your question it seems that you have already installed Delve.
- Install Go extension for VS Code. The extension can be found at : https://github.com/golang/vscode-go
- Install
dlv
tool for Go. You can do that by opening up Command Palette (Ctrl+Shift+P / Cmd+Shift+P) and selectGo: Install/Update Tools
then search/selectdlv
Now you can start debugging with delve in VS code.
More more detailed instruction please follow : https://dev.to/nyxtom/debugging-in-go-in-vs-code-1c7f