D
- launch.json
- c_cpp_properties.json
- 创建快捷键模板
参考
https://code.visualstudio.com/docs/cpp/config-mingw
预定义变量名
${workspaceFolder} // 在 VS Code 中打开的文件夹的路径
${workspaceFolderBasename} // 在 VS Code 中打开的文件夹的名称,不带任何斜线 (/)
${file} // 当前打开的文件
${fileWorkspaceFolder} // 当前打开的文件的工作区文件夹
${fileBasename} // 当前打开的文件的基本名称
${fileBasenameNoExtension} // 当前打开的文件的基本名称,没有文件扩展名
${fileDirname} // 当前打开的文件的目录名
${fileExtname} // 当前打开的文件的扩展名
${cwd} // 启动时任务运行器的当前工作目录
task.json
用于编译和启动
{
"tasks": [
{
"type": "cppbuild", // shell(先打开shell 在输入命令); process(直接运行命令)
"label": "C/C++: gcc.exe 生成活动文件", // 必须与launch.json的preLaunchTask保持一致
"command": "F:\\mingw64\\bin\\gcc.exe", // 编译器路径
"args": [ // 编译参数(传递给编译器的参数)
"-fdiagnostics-color=always",
"-g", // 在编译时产生调试信息
// "${file}",
"-o", // 等价于 gcc -o
"${fileDirname}\\${fileBasenameNoExtension}.exe", // 生成的可执行文件的路(程序可执行文件的完成路径)
"${fileDirname}\\*.c", // 等价于 gcc -o app.exe a.c b.c
// "-static-libgcc", // 静态链接
// "-std=c11", // 采用的c/c++标准
],
"options": {
"cwd": "${fileDirname}" // 当前工作目录
},
"problemMatcher": [
"$gcc" // 问题匹配器 用于输出警告和错误
],
"group": {
"kind": "build",
"isDefault": true // false可以做到一个task.json配置多个编译指令
},
"detail": "调试器生成的任务。"
}
],
"version": "2.0.0"
}
launch.json
主要用于debug
{
// 使用 IntelliSense 了解相关属性。
// 悬停以查看现有属性的描述。
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "gcc.exe - 生成和调试活动文件", //
"type": "cppdbg", // 使用的底层调试器类型(配置类型)
"request": "launch", // 启动程序还是附加到其他实例上(launch:以调试模式开始;attach:在运行过程中附加调试)
"program": "${fileDirname}\\${fileBasenameNoExtension}.exe", // 生成的可执行文件的路径(程序可执行文件的完成路径) (启动调试器时要运行的可执行文件) -- 与vscode调试行为有关
"args": [], // 程序启动时传递给程序的参数(传递给程序(进行调试)的命令行参数) int main(int argc,char* agrv[]) -- 与目标应用程序有关
"stopAtEntry": false, // -- 与gdb设置有关 false就行
"cwd": "${fileDirname}", // 应用程序的工作目录(目标的工作目录) -- 与目标应用程序有关(用于查找依赖项和其他文件的当前工作目录)
"environment": [], // 要添加的环境变量(要添加到程序环境的环境变量) -- 与目标应用程序有关
"externalConsole": false, // 使用额外的控制台(true 则为调试对象启动控制台) -- 与vscode调试行为有关
"MIMode": "gdb", // vscode要使用的调试器(控制台调试程序) -- 与gdb设置有关
"miDebuggerPath": "F:\\mingw64\\bin\\gdb.exe", // vscode要使用的调试器(控制台调试程序)的路径 -- 与gdb设置有关
"setupCommands": [ // 启动设置gdb-- 与gdb设置有关
{
"description": "为 gdb 启用整齐打印",
"text": "-enable-pretty-printing",
"ignoreFailures": true
},
{
"description": "将反汇编风格设置为 Intel",
"text": "-gdb-set disassembly-flavor intel",
"ignoreFailures": true
}
],
"preLaunchTask": "C/C++: gcc.exe 生成活动文件", // 在调试会话开始之前启动任务
"additionalSOLibSearchPath": "" // 搜索.so文件的路径 分号隔开 -- 与vscode调试行为有关
}
]
}
c_cpp_properties.json
Ctrl+Shift+P 直接查看
// 设置其他头文件的路径
"includePath": [ // c/c++标准库、用户头文件所在的位置
"${workspaceFolder}/**" // workspaceFolder打开文件夹的路径
],
"compilerPath": "F:\\mingw64\\bin\\gcc.exe", // 自动推断c++标准库头文件的路径