十一、Ubuntu18.04下VSCode配置C/C++编译环境

2023-05-16

十一、Ubuntu18.04下VSCode配置C/C++编译环境

    • 1.安装VSCode
    • 2.安装插件
    • 3.创建工程
    • 4.总结

1.安装VSCode

这一步就不谈了

2.安装插件

编译一些简单的cpp文件,下面几个插件就够用了
Ctrl+Shift+X打开拓展,在应用商店中搜索并安装Chinese、C/C++、C/C++ Compile Run
在这里插入图片描述

OK,关掉VScode

3.创建工程

VScode只是一个轻量级的文本编辑器,但是我们安装的拓展插件可以让他拓展成功能齐全的IDE,这其中就靠的是.vscode文件夹中的tasks.jsonlaunch.json这两个配置文件,这两个文件需要自己手动配置。由于VScode是以.vscode文件夹的形式管理工程的,所以每次新建一个工程,都需要重新配置编译环境。

我们首先需要新建一个文件夹作为工程目录,我这里取名叫Cpp demo
然后进入这个目录,在命令行中输入code .就可以直接在VSCode中打开这个工程了
现在还是个空工程,文件夹里什么都没有
在这里插入图片描述
可以新建一个main.cpp文件:

#include <cstdio>
#include <vector>
using namespace std;

int main()
{
    vector<int> vec;
    for(int i=0; i<10; i++)
        vec.push_back(i);
    
    for(int j=0; j<10; j++)
    printf("%d\n",vec[j]);
}

然后Ctrl+Shift+D就可以打开运行和调试,点击创建launch.json文件

这个时候你会发现在工程目录下又自动创建好了一个.vscode文件,文件夹中还有一个launch.json文件,然后复制下面这段内容到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",
            "request": "launch",
            "program": "${fileDirname}/${fileBasenameNoExtension}.out",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "preLaunchTask": "build",
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ]
        }
    ]
}

然后在.vscode文件夹下手动创建一个tasks.json文件,然后复制下面这段内容到tasks.json中

{
	"version": "2.0.0",
	"tasks": [
		{
			"type": "shell",
			"label": "build",
			"command": "g++",
			"args": [
				"-g",
				"${file}",
				"-o",
				"${fileDirname}/${fileBasenameNoExtension}.out"
			],
			"options": {
				"cwd": "/usr/bin"
			},
			"problemMatcher": [
				"$gcc"
			],
			"group": {
				"kind": "build",
				"isDefault": true
			}
		}
	]
}

最后按F5就可以运行和调试了:这里要注意,你得点一下main.cpp回到这个源文件,不能对着.json文件按F5,这个时候会提示报错:PreLaunchTask"build"已终止,退出代码为1
在这里插入图片描述
并且生成了一个main.out的可执行文件,直接在命令行中输入./main.out也可以直接运行
在这里插入图片描述
在这里插入图片描述

4.总结

如果以后新建了别的工程,就还需要按照上面的流程在工程中重新创建一个.vscode,比较繁琐
所以索性直接复制已经创建好的.vscode到新的工程就行了,但是Ubuntu的文件系统中,你进入到工程目录中,是看不到.vscode文件夹的,这是一个隐藏文件
按一次Ctrl+H就可以查看隐藏文件了,再按一次就可以关闭查看
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

十一、Ubuntu18.04下VSCode配置C/C++编译环境 的相关文章

随机推荐

  • 操作系统的分页和分段式管理

    计算存储的层次结构 xff1a 当前技术没有能够提供这样的存储器 xff0c 因此大部分的计算机都有一个存储器层次结构 xff0c 即少量的非常快速 昂贵 易变的高速缓存 cache xff1b 若干兆字节的中等速度 中等价格 易变的主存储
  • 三极管什么时候工作在饱和区

    http www dzsc com dzbbs 20070115 200765213434343495 html 三极管什么时候工作在饱和区 xff1f 以前我以为Ib大的时候就在饱和区 现在看了书 xff0c 看来应该是两个PN结都正偏的
  • shell脚本基础

    摘自 xff1a 一篇教会你写90 的shell脚本 1 注释 xff1a 单行注释 xff1a 多行注释 xff1a 注意第一种注释方法的 34 后面有一个空格 xff09 39 多行注释内容 39 lt lt block 多行注释内容
  • RT-thread 中CAN总线的应用

    准备 xff1a RT thread Studio 2 2 5 CubeMX 6 6 1 rt thread驱动包 4 0 3 1 新建项目 2 打开CubeMX Settings xff0c 设置CAN 找到CAN1 xff0c 并勾选激
  • Rt-thread的CAN应用2

    1 rtt中使能CAN1 2 CubeMX生成部分代码 xff0c 完成下面操作然后生成MDK ARM项目文件 3 将CubeMX生成的 HAL CAN MspInit 函数 粘贴到drv can c中 并在rt hw can init 函
  • STM32的IIC接口输入输出定义

    IO方向设置 PC11 端口 define SDA IN GPIOC gt CRH amp 61 0XFFFF0FFF GPIOC gt CRH 61 8 lt lt 12 define SDA OUT GPIOC gt CRH amp 6
  • 从头开始用树莓派做一个NAS【最新超详细教程】

    一 概述 众所周知在办公的时候两台电脑之间经常倒数据资料非常麻烦 xff0c 而NAS可以很好的解决这个问题 树莓派搭建NAS方法有很多 xff0c 我们之前也拍过直接用Samba FTP这些来实现NAS功能 xff0c 但是这些需要你会在
  • 串口发送通信---UART发送---STM32F4实现

    串口发送程序配置过程 xff08 HAL库 xff09 初始化串口相关参数 xff0c 使能串口 HAL StatusTypeDef span class token function HAL UART Init span span cla
  • 基于UDP的文件传输VS编程

    要求 xff1a 实现基于UDP的文件传输 xff0c 客户端发送文件 xff0c 服务端接受文件 服务端实现 xff1a include 34 stdafx h 34 include 34 iostream 34 include 34 a
  • 成功解决VSCODE运行C++的报错问题g++

    成功解决VSCODE运行C 43 43 的报错问题g 43 43 解决方案调试 很久写C 43 43 了 xff0c 直接打开C 43 43 写代码测试一下 xff0c 报错 xff0c 真一脸懵逼 捯饬很久 xff0c 解决了问题 解决方
  • linux下的环境变量

    环境变量 环境变量 xff0c 是指在操作系统中用来指定操作系统运行环境的一些参数 通常具备以下特征 xff1a 字符串 本质 有统一的格式 xff1a 名 61 值 值 值用来描述进程环境信息 存储形式 xff1a 与命令行参数类似 ch
  • 【004 关键字】extern “C“的作用是什么?

    一 extern 34 C 34 的作用 extern 34 C 34 关键字常用于C 43 43 和C混合编程中 xff0c 用于指定函数或变量采用C语言的命名和调用约定 加上extern 34 C 34 后 xff0c 会指示编译器这部
  • C++模板编程--学习C++类库的编程基础

    目录 一 函数模板二 类模板三 实现C 43 43 STL向量容器vector代码四 理解容器空间配置器allocator的重要性 一 函数模板 1 模板的意义 xff1a 对类型也可以进行参数化了 2 函数模板 lt 61 是不进行编译的
  • cmake 学习使用笔记(二)库的生成与使用

    学习使用cmake 生成及使用库 xff0c 使用cmake 生成 lib 静态库 及动态库 xff08 dll xff09 及linux 下使用的静态库 a 和 动态库 xff08 so 也称为共享库 xff09 目录 使用工具 生成库
  • cmake 学习使用笔记(五)手动编译

    目录 编译cmake 项目 构建 方式一 xff1a 可执行文件生成的在当前目录 方式二 xff1a 可执行文件生成只制定目录 记录一下手动编译 cmake 项目 编译cmake 项目 项目结构 注意 xff1a 必须要有一个 CMakeL
  • 四旋翼无人机学习第5节--STM32最小系统外围电路分析

    文章目录 1 芯片手册分析2 stm32的外部晶振手册分析2 stm32的外部上电复位手册分析3 电源放置方法4 GND放置方法5 其他元器件放置方法6 网络放置方法7 快捷键分享8 原理图绘制成果分享 快速使用芯片的最好的方式 xff0c
  • 现代C++单文件库(header only)

    nlohmann json https github com nlohmann json easyloggingpp https github com amrayn easyloggingpp
  • 一、ROS创建工作空间

    一 ROS创建工作空间 1 什么是工作空间2 创建工作空间3 编译工作空间4 创建功能包5 编译功能包 xff08 重新编译工作空间 xff09 6 设置环境变量7 运行节点 1 什么是工作空间 工作空间 xff08 workspace x
  • 二、ROS集成开发环境

    二 ROS集成开发环境 1 安装terminator2 安装VScode3 在VScode中使用ROS3 1 创建工作空间3 2 启动VScode3 3 配置VScode3 4 创建功能包3 5 编写C 43 43 文件3 6 配置CMak
  • 十一、Ubuntu18.04下VSCode配置C/C++编译环境

    十一 Ubuntu18 04下VSCode配置C C 43 43 编译环境 1 安装VSCode2 安装插件3 创建工程4 总结 1 安装VSCode 这一步就不谈了 2 安装插件 编译一些简单的cpp文件 xff0c 下面几个插件就够用了