找回密码
 立即注册
首页 业界区 安全 Linux Mint下使用vscode编译C++代码

Linux Mint下使用vscode编译C++代码

聊账 3 小时前
Linux Mint下使用vscode编译C++代码


vscode


首先要说明vscode不是IDE,因此本身没有所谓的一键配置、一键编译/运行、大量可视化项目操作选项等功能,实际上是一个拥有丰富插件且可定制化极高的文本编辑器。当我们创建完C++文件后按照在IDE(VS2022等)思路下会下意识的使用快捷键一键编译运行,这时vscode提示你要提供launch.json和tasks.json,这两个文件就是vscode编译C++代码时所要用到的配置文件。当然如果你只是将vscode当作一个文本编辑器,并依然使用终端命令来编译、调试与运行,也是可以的。

tasks.json

  1. {
  2.     //一个简单的tasks.json示例
  3.     "version": "2.0.0",
  4.     "tasks": [
  5.         {
  6.             "label": "C/C++: g++ build active file", // 任务名称
  7.             "type": "cppbuild", // 任务类型
  8.             "command": "/usr/bin/g++", // 执行的编译命令,如果编译器加入了环境变量可直接g++
  9.             "args": [ // 命令参数
  10.                 "-g",
  11.                 "${file}",
  12.                 "-o",
  13.                 "${fileDirname}/${fileBasenameNoExtension}"
  14.             ],
  15.             "group": {
  16.                 "kind": "build", // 任务分组类型
  17.                 "isDefault": true // 是否为默认任务
  18.             },
  19.             "problemMatcher": [
  20.                 "$gcc"
  21.             ], // 错误匹配器
  22.             "detail": "Generated by VS Code." // 任务描述
  23.         }
  24.     ]
  25. }
复制代码

值得一提的是vscode默认是不包含tasks.json的,如果直接编译运行的话仍然提示要提供launch.json

launch.json

  1. {
  2.   //一个简单的launch.json
  3.   "configurations": [
  4.     {
  5.       "name": "(gdb) 启动",
  6.       "type": "cppdbg",     //指定的调试器类型
  7.       "request": "launch",  //调试运行
  8.       "preLaunchTask": "C/C++: g++ build active file", //如果要求先生成文件再运行时,需要加上这个参数,参数值要和tasks.json中的"label"一致
  9.       "program": "${workspaceFolder}/${fileBasenameNoExtension}",   //运行的文件名也要与生成的文件名一致
  10.       "args": [],
  11.       "stopAtEntry": false,     //为true表示在运行的第一行代码处停止,为false表示在断点处停止
  12.       "cwd": "${fileDirname}",  //工作目录
  13.       "environment": [],        //设置调试的环境变量
  14.       "externalConsole": false, //使用外置终端,还是vscode内部终端
  15.       "MIMode": "gdb",          //指定的调试器,如果环境变量没有调试器的目录,需要加上参数"miDebuggerPath",值为调试器的目录
  16.       "setupCommands": [        //调试器内部命令
  17.         {
  18.           "description": "为 gdb 启用整齐打印",
  19.           "text": "-enable-pretty-printing",
  20.           "ignoreFailures": true
  21.         },
  22.         {
  23.           "description": "将反汇编风格设置为 Intel",
  24.           "text": "-gdb-set disassembly-flavor intel",
  25.           "ignoreFailures": true
  26.         }
  27.       ]
  28.     }
  29.   ]
  30. }
复制代码

当两个配置文件都编写完毕后,将其放入.vscode文件夹中,然后回到C++代码中即可正常编译、调试与运行。关于tasks.json和tasks.json其他高级命令与用法可参考微软vscode官方文档。

来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

相关推荐

您需要登录后才可以回帖 登录 | 立即注册