欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

vscode调试golang环境搭建及配置

程序员文章站 2022-10-04 23:24:53
准备VSCode 在官网下载最新版的VSCode: 安装Golang插件 打开扩展面板 VSCode->查看->扩展 找到Go插件 在搜索框里输入Go, 找到第二行写有 Rich Go language support for Visual Studio Code的插件, 点击安装 注意不是排名最高 ......

准备vscode

在官网下载最新版的vscode:

安装golang插件

  • 打开扩展面板

    vscode->查看->扩展

  • 找到go插件 在搜索框里输入go, 找到第二行写有 rich go language support for visual studio code的插件, 点击安装

    注意不是排名最高的

  • 重启编辑器

配置启动项

  • 打开调试面板

    vscode->查看->调试

  • 添加调试目标

    在"没有调试"的下拉框中点击"添加配置.."

  • 添加目标调试配置

    例子:

    {
        "version": "0.2.0",
        "configurations": [
            {
                "name": "launch",
                "type": "go",
                "request": "launch",
                "mode": "debug",
                "remotepath": "",
                "port": 2345,
                "host": "127.0.0.1",
                "program": "${filedirname}",
                "env": {
                    "gopath":"d:/develop/vscodegolang"
                },
                "args": [],
                "showlog": true
            }
        ]
    }
    

其中: "port", "host"都是go插件自动生成的

"env"为设置环境变量, 设置为你的工程目录就可以(包含bin, src的文件夹)

准备调试插件

此时找到main.go按f5, 会报错提示:

failded to continue:"cannot find delve debugger. install from https://github.com/derekparker/delve & ensure it is in your "gopath/bin" or "path"

我们使用go命令行编译调试器

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

将dlv调试器放在gopath(工程目录)的bin目录下

开始调试

选中要调试的main.go, 点击f5, 既可以开始调试

调试快捷键和visual studio系一致

  • f9 切换断点
  • f10 step over
  • f11 step in
  • shift+f11 step out

注意点

  • 某些结构体成员无法直接显示时, 可以直接选中变量名, 添加到监视, 或者右键点击: "调试:求值"

多项目调试

在launch.json中可以添加多组调试入口, 通过调试面板中选中对应的配置开启不同目标的调试

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "client",
            "type": "go",
            "request": "launch",
            "mode": "debug",
            "remotepath": "",
            "port": 2345,
            "host": "127.0.0.1",
            "program": "${filedirname}",
            "env": {
                "gopath":"d:/develop/vscodegolang"
            },
            "args": [],
            "showlog": true
        },

        {
            "name": "server",
            "type": "go",
            "request": "launch",
            "mode": "debug",
            "remotepath": "",
            "port": 2345,
            "host": "127.0.0.1",
            "program": "${workspaceroot}/src/server",
            "env": {
                "gopath":"d:/develop/vscodegolang"
            },
            "args": [],
            "showlog": true
        }
    ]
}

"program"中的"${filedirname}"是以当前选中文件作为启动点

更建议使用"program"的"${workspaceroot}", 以包名作为启动点的方式进行配置

参考链接

debugging in visual studio code