在Linux/Ubuntu18.04上给VSCode配置C++调试环境

        本文参考Get Started with C++ on Linux in Visual Studio Code,来源微软官方教程。为了便于大家快速上手掌握VSCode配置C++的过程,用中文展开来具体说说。

        在使用C++之前,需要先配置C++调试环境。这里我们需要两种package,一个是GCC关于C++的编译器,和GDB调试器(debugger)。而在最初安装好Ubuntu系统时,是不自带这些package的,需要我们先自己安装。在安装完它们之后,然后编写JSON配置文件,最后编写简单的C++程序,并查看是否配置好。

        1确认GCC等有无安装

        右键桌面选中打开终端,在命令行中键入

gcc -v

上图是已安装GCC的情况。

如果GCC未安装,在保证联网的条件下,输入

sudo apt-get update

 

更新Ubuntu包列表,然后用以下命令安装GNU编译工具及GDB调试器

sudo apt-get install build-essential gdb

       

2创建简单C++程序

        首先可以在主目录里创建一个C程序文件夹,然后在其中创建一个用于存放一个C++工程的文件夹,比方叫TestFromMicrosoft。然后打开VScode,在文件浏览界面导入该文件夹,创建一个.cpp文件,如test.cpp。

 然后粘贴以下测试程序:

#include <iostream>
#include <vector>
#include <string>

using namespace std;

int main()
{
    vector<string> msg {"Hello", "C++", "World", "from", "VS Code", "and the C++ extension!"};

    for (const string& word : msg)
    {
        cout << word << " ";
    }
    cout << endl;
}

然后保存该文件及工程。

3配置JSON文件

        这里需要在子文件夹.vscode下配置三个.json文件,第一个是tasks.json文件,其功能是告诉VSCode如何去构建或编译我的程序。当然这个任务完成需要使用g++编译器来根据源代码创建一个可执行文件(.out);第二个是launch.json,其功能是在你调试程序启动的时候启动GDB调试器;第三个是c_cpp_properties.json。但是这个文件不是必须要配置的,如果想要更多关于C++的控制功能的话可以选择创建。这个配置文件可以允许你改变例如编译器的路径等设置,当然包括路径、C++标准(默认是C++17)等等。

        它们在文件列表里的显示关系如下:

        

把它们复制到各自的配置文件里即可:

//tasks.json
{
  "version": "2.0.0",
  "tasks": [
    {
      "type": "shell",
      "label": "g++ build active file",
      "command": "/usr/bin/g++",
      "args": ["-g", "${file}", "-o", "${fileDirname}/${fileBasenameNoExtension}"],
      "options": {
        "cwd": "/usr/bin"
      },
      "problemMatcher": ["$gcc"],
      "group": {
        "kind": "build",
        "isDefault": true
      }
    }
  ]
}
//launch.json
{
  "version": "0.2.0",
  "configurations": [
    {
      "name": "g++ build and debug active file",
      "type": "cppdbg",
      "request": "launch",
      "program": "${fileDirname}/${fileBasenameNoExtension}",
      "args": [],
      "stopAtEntry": false,
      "cwd": "${workspaceFolder}",
      "environment": [],
      "externalConsole": false,
      "MIMode": "gdb",
      "setupCommands": [
        {
          "description": "Enable pretty-printing for gdb",
          "text": "-enable-pretty-printing",
          "ignoreFailures": true
        }
      ],
      "preLaunchTask": "g++ build active file",
      "miDebuggerPath": "/usr/bin/gdb"
    }
  ]
}
//c_cpp_properties.json
{
  "configurations": [
    {
      "name": "Linux",
      "includePath": ["${workspaceFolder}/**"],
      "defines": [],
      "compilerPath": "/usr/bin/gcc",
      "cStandard": "c11",
      "cppStandard": "c++17",
      "intelliSenseMode": "clang-x64"
    }
  ],
  "version": 4
}

然后点击启动调试,查看终端界面,输出如下信息:

 表明C++调试环境配置配置完毕!

当然如果想要外部控制台输出的话,可以将配置文件launch.json中的externalConsole项改为true即可。

### 配置VSCode用于C/C++开发环境 #### 安装必要的工具链 为了在Ubuntu 18.04上设置C/C++开发环境,需要安装GNU Compiler Collection (GCC),这是Linux平台上的标准编译器套件。可以通过包管理器apt-get来完成这一操作[^1]。 ```bash sudo apt update sudo apt install build-essential ``` 上述命令会更新软件源并安装构建基本组件,其中包括gcc和g++编译器以及make等工具。 #### 设置Visual Studio Code编辑器 对于集成开发环境的选择,Visual Studio Code因其轻量级特性和强大的插件生态系统而成为理想之选。首先需下载并安装该应用程序: ```bash sudo snap install --classic code ``` 这一步骤利用Snapcraft提供的官方渠道快速部署最新版本的VSCode到用户的系统环境中去[^2]。 #### 安装扩展支持C/C++ 打开已安装好的VSCode之后,在左侧活动栏点击扩展图标(四个方块组成的图案),搜索`C/C++`由Microsoft发布的官方扩展,并单击安装按钮将其加入当前工作区之中。此扩展提供了 IntelliSense、调试功能以及其他有助于编写高效代码的功能特性[^3]。 #### 创建项目结构与配置文件 创建一个新的目录作为项目的根路径,接着初始化Git仓库以便于版本控制。进入新建的工作空间内,通过终端依次运行下面两条指令生成`.vscode`隐藏文件夹及其内部所需的两个重要JSON格式设定文档——即`c_cpp_properties.json`用来指定包含头文件的位置信息;还有就是前面提到过的`tasks.json`负责定义具体的编译流程[^4]。 ```json // c_cpp_properties.json example content { "configurations": [ { "name": "Linux", "includePath": ["${workspaceFolder}/**"], "defines": [], "compilerPath": "/usr/bin/gcc", "cStandard": "gnu11", "cppStandard": "gnu++14", "intelliSenseMode": "clang-x64" } ], "version": 4 } ``` 以上展示了如何自定义C/C++语言服务器的行为模式,确保其能够识别用户所使用的特定编程风格及语法规范。 #### 调试配置 最后还需要准备一份launch.json文件,它描述了启动程序的方式方法,特别是当涉及到断点调试的时候显得尤为重要。这里给出一个简单的例子说明怎样针对单一目标二进制文件进行本地测试[^5]。 ```json // launch.json sample configuration { "version": "0.2.0", "configurations": [ { "name": "(gdb) Launch", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/a.out", // Replace with your executable path "args": [], "stopAtEntry": false, "cwd": "${workspaceFolder}", "environment": [], "externalConsole": true, "MIMode": "gdb", "setupCommands": [ { "description": "Enable pretty-printing for gdb", "text": "-enable-pretty-printing", "ignoreFailures": true } ] } ] } ``` 这样就完成了整个基于VSCode搭建起来的支持现代C/C++工程实践的学习平台!
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值