Ubuntu 18 配置 VScode 的 C/C++ 开发环境

参考大佬写的:

https://blog.csdn.net/weixin_44012745/article/details/106183331
https://blog.csdn.net/crusierLiu/article/details/106131473
https://blog.csdn.net/weixin_43374723/article/details/84064644#commentBox
https://www.cnblogs.com/Alexkk/p/12616485.html

关键部分:

将默认launch.json全部替换为如下:

{
    // 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",	// 配置类型,这里只能为cppdbg
            "request": "launch",	// 请求配置类型,可以为launch(启动)或attach(附加)
            "program": "${workspaceFolder}/${fileBasenameNoExtension}.out",	// 将要进行调试的程序的路径
            "args": [],	// 程序调试时传递给程序的命令行参数,一般设为空即可
            "stopAtEntry": false,	// 设为true时程序将暂停在程序入口处,我一般设置为true
            "cwd": "${workspaceFolder}",	// 调试程序时的工作目录
            "environment": [],
            "externalConsole": true,	// 调试时是否显示控制台窗口,一般设置为true显示控制台,
                                       // 但是最新版cpptools有BUG,具体请看文末的注意
            "MIMode": "gdb",	// 指定连接的调试器,可以为gdb或lldb。但目前lldb在windows下没有预编译好的版本。
            "preLaunchTask": "build",	// 调试会话开始前执行的任务,一般为编译程序。与tasks.json的label相对应
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true 
                }
            ]
        }
    ]
}

添加构建(编译、链接等)任务(tasks.json)

为了方便在VScode里编译C++代码,我们可以将类似g++ -g main.cpp等g++命令写入VScode的任务系统。

再次按F5,选择配置任务,这次将会出现提示:

“No task to run found. configure tasks...”

然后依次选择

Create tasks.json file from template
Others Example to run an arbitrary external command.

打开task.json后,将其默认生成文件全部替换为如下

{
    // See https://go.microsoft.com/fwlink/?LinkId=733558
    // for the documentation about the tasks.json format
    "version": "2.0.0",
    "tasks": [
        {
            "label": "build",  // 任务名称,与launch.json的preLaunchTask相对应
            "type": "shell",  // 可以为shell或process,前者相当于先打开shell再输入命令,后者是直接运行命令
            "command": "g++",  // 要使用的编译器, C就写gcc
            "args": ["-g", "${file}", "-std=c++11", "-o", "${fileBasenameNoExtension}.out"]
        }
     ]
}


"args": [
         "${file}",
         "-o", // 指定输出文件名,不加该参数则默认输出a.exe,Linux下默认a.out
         "${fileDirname}/${fileBasenameNoExtension}.out",
         "-g", // 生成和调试有关的信息
         //"-Wall", // 开启额外警告
         "-static-libgcc", // 静态链接
         "-std=c11" // C语言最新标准为c11,或根据自己的需要进行修改比如C++17
     ], // 编译命令参数

简单断点调试

经过上述配置之后就可以对我们写的程序进行简单的配置。在进行下面的操作前,我们应当保证launch.json和tasks.json的正确性并且已经成功保存.使用快捷键ctrl+shift+p调出命令行,选择执行我们的build任务,build成功后,点击开始调试。具体操作如下
在这里插入图片描述
值得注意的是,这里如果每次更改了程序需要重新build,然后再进行调试;如果直接进行调试则运行的是上次build的结果。通过在launc.json作如下更改可以使得每次调试之前会自动进行build:

在这里插入图片描述
这里在launch.json文件中添加了”preLaunchTask“=”build",也就是添加一个launch之间的任务,任务名为build,这个build就是我们在tasks.json中设置的任务名。

总结及注意事项

本文对Ubuntu18.04系统下配置基于VScode的C/C++开发环境进行了简单的介绍,主要步骤为:
1.安装VScode,可以通过在官网下载和命令行的方式进行安装。(顺便提一下,在命令行安装的过程中可能会让你输入a)
2.新建C/C++工程,VScode以文件夹为管理工程的方式,因此需要建立一个文件夹来保存工程。
3.配置launch.json文件,它是一个启动配置文件。需要进行修改地方的是指定运行的文件,其次我们还可以在里面添加build任务。
4.配置tasks.json文件,这个文件用来方便用户自定义任务,我们可以通过这个文件来添加g++/gcc或者是make命令,方便我们编译程序。
5.上述四个流程完了之后我们就可以进行基础的C/C++开发与调试了。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值