1 打开 launch.json 文件

image.png

2 配置属性详解

  1. {
  2. "version": "0.2.0",
  3. "configurations": [
  4. {
  5. "name": "Launch",
  6. "type": "go",
  7. "request": "launch",
  8. "mode": "auto",
  9. "program": "${fileDirname}",
  10. "env": {},
  11. "args": []
  12. }
  13. ]
  14. }
属性 介绍
name 配置的名称
type 语言类型, vs code 用于计算调试代码需要用哪个扩展
request 请求配置类型。可以是“launch”或“attach”。
- launch: 运行程序生成新进程并调试
- attach: 调试已存在的某个进程
mode 可以设置为 auto, debug, remote, test, exec 中的一个
- exec用于编绎为二进制文件
cwd 工作路径
program main文件路径
envFile 包含环境变量文件的绝对路径
env 使用的环境变量,属性会覆盖 envFile 中的配置
args 传给正在调试程序命令行参数数组
showLog 布尔值,是否输出调试信息
logOutput 调试输出到哪里(debugger, gdbwire, lldbout, debuglineerr, rpc)
buildFlags 构建 go 程序时传给 go 编译器的标志
如: “-tags=’first_tag second_tag third_tag’”

3 VSCode变量替换

假设当前workspace的路径为:/home/Coding/Test,workspace文件夹下的结构如下:

/home/Coding/Test +.vscode(+表示下一层) ++tasks.json ++launch.json +main.cpp

变量 作用
${workspaceFolder} 工作空间的根目录
即/home/Coding/Test
${workspaceRootFolderName} workspace的文件夹名
即Test
${file} 当前文件的绝对路径
即/home/Coding/Test/.vscode/tasks.json
${fileDirname} 当前文件所在文件夹的绝对路径
即/home/Coding/Test/.vscode
${relativeFile} 当前文件在workspace中的相对路径
.vscode/tasks.json
${fileBasename} 当前文件的文件名
即tasks.json
${fileBasenameNoExtension} 当前文件的文件名,不带后缀
即tasks
${fileExtname} 当前文件的后缀,
即.json
${lineNumber} 当前文件光标所在的行号
${env:PATH} 系统中的环境变量