Linux Mint下使用vscode编译C++代码
Linux Mint下使用vscode编译C++代码
vscode
首先要说明vscode不是IDE,因此本身没有所谓的一键配置、一键编译/运行、大量可视化项目操作选项等功能,实际上是一个拥有丰富插件且可定制化极高的文本编辑器。当我们创建完C++文件后按照在IDE(VS2022等)思路下会下意识的使用快捷键一键编译运行,这时vscode提示你要提供launch.json和tasks.json,这两个文件就是vscode编译C++代码时所要用到的配置文件。当然如果你只是将vscode当作一个文本编辑器,并依然使用终端命令来编译、调试与运行,也是可以的。
tasks.json
{
//一个简单的tasks.json示例
"version": "2.0.0",
"tasks": [
{
"label": "C/C++: g++ build active file", // 任务名称
"type": "cppbuild", // 任务类型
"command": "/usr/bin/g++", // 执行的编译命令,如果编译器加入了环境变量可直接g++
"args": [ // 命令参数
"-g",
"${file}",
"-o",
"${fileDirname}/${fileBasenameNoExtension}"
],
"group": {
"kind": "build", // 任务分组类型
"isDefault": true // 是否为默认任务
},
"problemMatcher": [
"$gcc"
], // 错误匹配器
"detail": "Generated by VS Code." // 任务描述
}
]
}
值得一提的是vscode默认是不包含tasks.json的,如果直接编译运行的话仍然提示要提供launch.json
launch.json
{
//一个简单的launch.json
"configurations": [
{
"name": "(gdb) 启动",
"type": "cppdbg", //指定的调试器类型
"request": "launch", //调试运行
"preLaunchTask": "C/C++: g++ build active file", //如果要求先生成文件再运行时,需要加上这个参数,参数值要和tasks.json中的"label"一致
"program": "${workspaceFolder}/${fileBasenameNoExtension}", //运行的文件名也要与生成的文件名一致
"args": [],
"stopAtEntry": false, //为true表示在运行的第一行代码处停止,为false表示在断点处停止
"cwd": "${fileDirname}", //工作目录
"environment": [], //设置调试的环境变量
"externalConsole": false, //使用外置终端,还是vscode内部终端
"MIMode": "gdb", //指定的调试器,如果环境变量没有调试器的目录,需要加上参数"miDebuggerPath",值为调试器的目录
"setupCommands": [ //调试器内部命令
{
"description": "为 gdb 启用整齐打印",
"text": "-enable-pretty-printing",
"ignoreFailures": true
},
{
"description": "将反汇编风格设置为 Intel",
"text": "-gdb-set disassembly-flavor intel",
"ignoreFailures": true
}
]
}
]
}
当两个配置文件都编写完毕后,将其放入.vscode文件夹中,然后回到C++代码中即可正常编译、调试与运行。关于tasks.json和tasks.json其他高级命令与用法可参考微软vscode官方文档。
本文来自博客园,作者:Reimual,转载请注明原文链接:https://www.cnblogs.com/Reimual/p/19324096

浙公网安备 33010602011771号