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官方文档。
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |