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介绍了一些配置参数的使用,这里我们只讨论argsenv这两个参数,前者是在启动前预设好要执行的命令,后者是配置好所需的环境变量.

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

小结

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

相关推荐
审判长烧鸡1 分钟前
GO错误处理【4】报错即链条
go·异常处理·错误处理
消失的旧时光-194317 分钟前
Spring Boot 工程化进阶:统一返回 + 全局异常 + AOP 通用工具包
java·spring boot·后端·aop·自定义注解
追风筝的人er1 小时前
SpringBoot+Vue3 企业考勤如何处理法定假期?节假日方案、调休补班与工作日判断链路拆解
前端·vue.js·后端
金銀銅鐵2 小时前
[git] 如何丢弃对一个文件的改动?
git·后端
橘子海全栈攻城狮2 小时前
【最新源码】养老院系统管理A013
java·spring boot·后端·web安全·微信小程序
smallyoung3 小时前
具有反思能力的 Agentic RAG 实战:用 LangChain4j 实现 CRAG 纠错检索
人工智能·后端
EthanYuan3 小时前
💡RAG实践:从云知识库迁移到PostgreSQL ,并使用PGVector实现向量存储
后端
直奔標竿3 小时前
Java开发者AI转型第二十六课!Spring AI 个人知识库实战(五)——联网搜索增强实战
java·开发语言·人工智能·spring boot·后端·spring
等风来_shy3 小时前
如何写好一个 Skill
后端
ailab4 小时前
研发人员如何写好 AI 提示词:从“问问题”到“驱动研发闭环”
后端