zl程序教程

您现在的位置是:首页 >  工具

当前栏目

用vscode开发调试golang超简单教程

2023-09-14 09:12:21 时间

目录

一、下载并安装vscode

二、安装Go插件

三、下载调试工具

四、打开现有go工程文件夹或新建go项目即可进行调试

五、问题处理

首先安装golang开发环境,这个不用说。

到这个页面下载golang 的安装包 https://studygolang.com/dl ,再安装就可以了。

一、下载并安装vscode
https://code.visualstudio.com/

二、安装Go插件
在vscode插件中搜索Go的开发插件,安装后如图所示

 

三、下载并编译go语言调试工具

2020.8.21更新。 这个bin已经有点过时,golang发展太快,推荐自己编译这些工具,请参考 https://zhuanlan.zhihu.com/p/146970464
使用vscode加载go语言扩展包后,需要下载go相关调试和开发的exe工具,国内因为墙的原因,经常失败。

网上的很多文档说要执行一堆 go get 命令,其实最后做的也就是把下面介绍的exe的源码下载下来,再编译生成 exe,放到$GOPATH/bin目录下。

已经有人把这些做好,下载使用即可。 从https://download.csdn.net/download/acaic/10777280下载bin目录文件内容,将其解压缩放在GOPATH目录下,GOPATH目录一般是C:\Users\${name}\go,name是你的用户名,如果文件夹不存在就创建一个。

bin/ 目录下主要包括以下几个工具:

dlv.exe go 语言调试工具
gocode.exe go语言代码检查,自动补全
godef.exe go语言代码定义和引用的跳转
golint.exe go语言代码规范检查
go-outline.exe 用于在Go源文件中提取JSON形式声明的简单工具
gopkgs.exe 快速列出可用包的工具
gorename.exe 在Go源代码中执行标识符的精确类型安全重命名
goreturns.exe 类似fmt和import的工具,使用零值填充Go返回语句以匹配func返回类型
go-symbols.exe 从go源码树中提取JSON形式的包符号的工具
gotour.exe go语言指南网页版
guru.exe go语言源代码有关工具,如代码高亮等

四、打开现有go工程文件夹或新建go项目即可进行调试
打开main.go,按F5开始调试,如果没有编译错误可以看到,变量显示,调用堆栈的显示还是非常清晰的,可以F10单步,F11进入函数,跟一般Visual Studio 一样了。

我也试用过liteIDE, x35是当前的最新版,liteIDE非常轻量,是中国人开发的,用起来还是很好用的,但是目前在调试方面个人感觉还有一些不太让人满意的地方,变量显示比较难,遇到go func() 无法调试,经常无法捕获断点。

 

 

五、问题处理

调试时可能会弹出

 

最大的原因可能是因为,VS code当前打开的文档不是main.go ,就那个包含main函数的go文件。

解决方法就是点击打开 main.go ,再按F5进行调试。

 

另一种解决方法是修改launch.json,

把program那个变量的值改一下,改成 "program": "${workspaceFolder}", 意思是调试的时候,以当前打开的文件夹根目录作为工程目录进行调试。

{
// 使用 IntelliSense 了解相关属性。
// 悬停以查看现有属性的描述。
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Launch",
"type": "go",
"request": "launch",
"mode": "auto",
"program": "${workspaceFolder}",
"env": {},
"args": []
}
]
}

具体可以参考: https://github.com/Microsoft/vscode-go/wiki/Debugging-Go-code-using-VS-Code

 

1、问题提出

     “习惯在项目目录里建src放源码文件,根目录里放配置文件或者别的什么,在交付时直接忽视掉src目录就行了,但vscode好像不能这样愉快的玩耍。。。”???

    要实现把源码放到src目录下,经过实践,要修改launch.json配置文件。

2、修改配置

    原始文件如下:

复制代码
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Launch",
            "type": "go",
            "request": "launch",
            "mode": "debug",
            "program": "${workspaceRoot}",
            "env": {},
            "args": []
        }
    ]
}
复制代码

    其中program表示编译的路径,默认位vscode打开的根目录。要想编译src目录,修改如下【"program": "${workspaceRoot}\\src"】:

复制代码
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Launch",
            "type": "go",
            "request": "launch",
            "mode": "debug",
            "program": "${workspaceRoot}\\src",
            "env": {},
            "args": []
        }
    ]
}
复制代码

3、注意事项

    如果没有输出,要把根目录里的debug二进制文件删除才行。

4、源码下载

    示例程序运行结果如下:

image

    源码下载地址:GoWorkx.zip