补充一下vscode调试实践。

1.vscode的调试配置

vscode中运行或者debug一个简单程序,一般情况就是F5后,vscode就会从开发者当前文件中运行,但是确实是入口文件才管用,否则就会报错:

image-20221030224000170

什么是入口文件?

  • node.jsindex.js
  • Gomain.go
  • .net coreProgram.cs

这明显是有局限性的;所以呢,更多的场景是需要我们自己做一个配置launch.json

image-20221030223104509

一般情况,vscode会增加默认配置,就是当前项目,作为开发者

2.调试配置

{
  "name": "Launch Package",
  "type": "go",
  "request": "launch",
  "mode": "auto",
  "program": "${fileDirname}"
}

以上就是launch.json针对go语言的默认配置,根据【Vscode】调试go语言程序的最佳实践,修改mode,program配置项

{
  "name": "Launch Package",
  "type": "go",
  "request": "launch",
  // "mode": "auto",
  "mode": "debug",
  "program": "${workspaceFolder}",
}

3.实际问题-多项目

工作中碰到多项目,首先 已经通过air启动了默认项目,此时再通过F5启动,还是默认项目,需要新增配置。

3.1 增加配置

{
	// Use IntelliSense to learn about possible attributes.
	// Hover to view descriptions of existing attributes.
	// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
	"version": "0.2.0",
	"configurations": [
		{
			"name": "gateway-dev", //新增项目调试配置
			"type": "go",
			"request": "launch",
			"mode": "debug",
			"program": "${workspaceFolder}/cmd/gateway"
		},
		{
			"name": "center-dev",  //默认项目调试配置
			"type": "go",
			"request": "launch",
			"mode": "debug",
			"program": "${workspaceFolder}"
		}
	]
}

3.2 切换配置

一定不要忘了切换配置

image-20221030225702367 image-20221030225722820

剩下就按F5就能正常调试新项目。

3.3 补充

参数program主要是指明了启动调试器时要运行的可执行文件或文件位置。一般我们都不使用 绝对路径,所以这里,博主将着重多说一句一下这个参数的配置:

  • ${workspaceFolder} 指的是工作空间文件夹
  • ${file}指的是在vscode中当前打开的文件
  • ${env:Name}指的是环境变量Name

还有很多配置其他配置,更多请参考官方:https://code.visualstudio.com/docs/editor/variables-reference

所以最终我们能做到:如果需要的话,我们可以增加的过个调试配置,且随时切换,调试指定的项目。

参考链接

https://code.visualstudio.com/Docs/editor/debugging#_launch-configurations