Ubuntu20.04 配置VScode的C++环境

提示:该博客仅仅用于记录本人在安装自用环境下的真实有效配置,请慎重参考

一、前言:

VS Code 的C++开发环境总体分为4步:
1.新建C/C++工程,VScode以文件夹为管理工程的方式,因此需要建立一个文件夹来保存工程。
2.配置launch.json文件,读取可执行文件。需要进行修改地方的是指定运行的文件,其次我们还可以在里面添加build任务,用于调试。
3.配置tasks.json文件,这个文件用来方便用户自定义任务,我们可以通过这个文件来添加g++/gcc或者是make命令,方便我们编译程序。
4.之后就可以进行基础的C/C++开发与调试了。

二、安装必要的开发环境:

  1. 假设已安装Vscode,若未安装请自行百度或查我的另一篇博文
  2. 因为vscode只是一个代码编辑器,没有自带有C/C++的编译器,因此我们需要安装一个C/C++编译器,打开终端依次输入,确保安装好gcc/g++和gdb
$ sudo apt-get update
$ sudo apt-get install gcc
$ sudo apt-get install g++
$ sudo apt-get install gdb

三、配置VScode:

1. 建立工程

新建一个工作区文件夹,然后在VScode中打开这个文件夹。VScode调试必须在工作区文件夹下,单独打开一个文件调试会报错。VScode不支持中文路径,文件夹名称不能有空格。

#include <iostream>
using namespace std;

int main(){
    cout<<"Hello World"<<endl;
    getchar();
    return 0;
}

2. 4个比较重要的文件夹

其中有4个比较重要的配置文件:

  1. c_cpp_properties.json: 配置项目结构,自动生成和更新,输入C/C++:Edit configuration
  2. task.json: 构建和编译运行项目,输入Task:Configure Task,模板,Others
  3. launch.json: 调试,读取可执行文件
  4. setting.json: 输入setting

3. 更改配置文件(launch.json)

launch.json目的:读取执行out文件
点击左侧的Debug按钮,选择添加配置(Add configuration),然后选择C++(GDB/LLDB),然后点击默认生成,将自动生成launch.json文件。最终调整如下(PS: //后为加入的备注,实际应用时,可删除):

{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(gdb) Launch", // 配置名称
            "type": "cppdbg",// 配置类型
            "request": "launch", // 请求配置类型,launch或者attach
            "program": "${workspaceFolder}/${fileBasenameNoExtension}.out",// 进行调试程序的路径,程序生成文件.out
            "args": [],// 传递给程序的命令行参数,一般为空
            "stopAtEntry": false,// 调试器是否在目标的入口点停止,
            "cwd": "${workspaceFolder}",// 项目目录
            "environment": [],
            "externalConsole": true,// 调试时是否显示控制台窗口,一般为true显示控制台
            "MIMode": "gdb",// 指定连接的调试器
            "preLaunchTask": "build",
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ]
        }
    ]
}

4. 更改编译任务(task.json)

task.json:定义编译方法,转为计算机可识别的语言,生成out文件。
快捷键ctrl+shift+p打开命令行,输入:Task:Configure Task 使用模版创建Tasks.json文件 → Others:

{
    // See https://go.microsoft.com/fwlink/?LinkId=733558
    // for the documentation about the tasks.json format
    "version": "2.0.0",
    "tasks": [
        {
            "label": "build",// 任务名
            "type": "shell",
            "command": "g++",// 指令
            "args": ["-g", "${file}", "-std=c++11", "-o", "${fileBasenameNoExtension}.out"]
        }
     ]
}

5.断点调试

  1. 以上工作完成后即可编译运行C/C++程序。不过在调试之前最好先CTRL+SHIFT+B编译一下,选择执行我们的build任务,build成功后,点击开始调试。
  2. 此时终端提示 “终端将被任务重用,按任意键关闭”
  3. 打上断点,按F5程序就会在断点处停下来,在调试窗口就可以看到代码中的变量值,字符串会在弹出来的终端窗口中打印出来。

参考链接

  1. https://zhuanlan.zhihu.com/p/148718585
  • 5
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值