VSCODE调试go项目小技巧

vscode 编辑器的插件功能让它可以运行市面上绝大多数的开发语言,当然也包括 golang。那么作为一名 gopher 如何利用好 vscode 上的一些功能来更好的开发呢?首先来分析下 go 项目,除了一些 web 后端项目,很多 go 项目是需要在启动的时候带上命令参数的,一些可能还需要读取环境变量呢。

下面给出几种方式讨论下。


命令行启动

以 linux 系统为例,在命令行启动 go 项目的时候,可以通过如下方式

bash 复制代码
go run main.go arg1 arg2 --flag1=value

如果需要临时设置一些环境变量,可以在运行前通过export命令设置

bash 复制代码
export ENV_VAR=value
go run main.go

在main包路径下直接运行vscode调试

下图所示为没有配置 launch.json 文件,直接运行 go 项目的示例,这种比上面命令行启动好处在于可以打断点调试,但是无法设定环境变量和启动参数。

通过launch文件启动

这种方式是平常工作中使用最多的,这是 vscode 给大多数开发语言提供的启动配置文件,Visual Studio Code debug configuration介绍了一些配置参数的使用,这里我们只讨论args和env这两个参数,前者是在启动前预设好要执行的命令,后者是配置好所需的环境变量.

下图所示是GenAI ToolBox项目的调试配置参数: 按照这个配置我们就可以直接本地调试了。

小结

对于我本人来说,快速的阅读或者理解某个项目的源码,首先要能够在本地运行起来,调试它的 main 函数或者api 接口,所以掌握一些工具的调试使用技巧还是很有必要的。

相关推荐
焦玉全1 分钟前
Sharding-JDBC 分库分表实战:从 800 万订单表的查询优化说起
后端
王中阳Go2 分钟前
面试官问"你怎么证明它有效",200个转AI的后端没几个答得上来
人工智能·后端·面试
深入云栈17 分钟前
Netty 4.2.x 源码深度解析 (十四):KQueue 传输 —— macOS 高性能 IO 的 Netty 实现
java·后端
一只公羊18 分钟前
在 Ubuntu 26.04 LTS (Root) 下使用 uv 丝滑安装 Microsoft MarkItDown
后端
dd聊技术23 分钟前
一张本地消息表装两个业务:差异一点没进表里
后端
她的男孩26 分钟前
头像换了三次还是旧图:秒传 + 预签名 URL + 私有文件权限,四层缓存叠出一个 Bug
java·后端·架构
深入云栈26 分钟前
Netty 4.2.x 源码深度解析 (十五):io_uring 传输 —— RingBuffer 与零拷贝 IO
java·后端
wei_shuo27 分钟前
KES 数据保护体系构建:备份策略设计、恢复流程优化与时间点恢复实践
后端
MacroZheng29 分钟前
装上这款全能增强插件,DeepSeek Harness瞬间高大上了!
java·人工智能·后端