ubuntu配置vscode c++环境

下载vscode deb安装包

Get Started with C++ on Linux in Visual Studio Code

  1. 安装vscode
bash 复制代码
sudo dpkg -i code_1.83.0-1696350811_amd64.deb
  1. 确保gcc编译器已经安装
bash 复制代码
g++ --version

如果没有安装,执行以下命令安装

bash 复制代码
sudo apt-get update
sudo apt-get install build-essential gdb

3.安装c++扩展

  1. 创建一个hello world程序

进入命令行窗口,创建一个空的文件夹来存放你的vscode工程。然后创建一个子文件夹helloworld,进入并且打开vscode。

bash 复制代码
mkdir projects
cd projects
mkdir helloworld
cd helloworld
code .

code .命令可以打开当前工作目录的VS Code,当你进入到这个例子,你将会在.vscode下创建三个文件夹

  • task.json(编译器相关的设置)
  • launch.json(调试器相关的设置)
  • c_cpp_properties.json(编译器路径和智能感知设置)
  1. 新建一个hello world源代码
cpp 复制代码
#include <iostream>
#include <vector>
#include <string>

using namespace std;

int main()
{
    vector<string> msg {"Hello", "c++", "world","VS Code","and the C++ extension!"};
    for (const string & word: msg)
    {
        cout << word << " ";
    }
    cout << endl;
}

运行helloworld程序

  1. 打开helloworld.cpp保证该文件处于激活状态
  2. 按住运行选择键,选择运行C/C++文件
  3. 从系统检测编译器列表中选择g++构建和调试激活文件(这个只会在你第一次运行文件时出现,让你选择一个编译器,这个编译器将会保存在一个默认的编译器设置中,tasks.json)
  4. 编译成功后,你的项目输入将会出现在集成的终端中

注意:第一次运行项目时,C++扩展会创建一个tasks.json文件,你可以在.vscode中找到它,tasks.json主要存放一些构建的配置信息

配置信息tasks.json

cpp 复制代码
{
    "tasks": [
        {
            "type": "cppbuild",
            "label": "C/C++: g++ 生成活动文件",
            "command": "/usr/bin/g++",
            "args": [
                "-fdiagnostics-color=always",
                "-g",
                "${file}",
                "-o",
                "${fileDirname}/${fileBasenameNoExtension}"
            ],
            "options": {
                "cwd": "${fileDirname}"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "detail": "调试器生成的任务。"
        }
    ],
    "version": "2.0.0"
}

有关配置文件的一些变量说明

Visual Studio Code Variables Reference

args数组指定命令行参数将由g++来执行,这些参数必须是编译器所期望的

task告诉g++拿到这个激活状态下的文件{file},然后编译它,并创建一个可执行文件在当下的文件夹中,{fileBasenameNoExtension},最后会形成一个helloworld可执行文件

label的值可以任意命名

detail最好区别于相似的任务

CMake工具包

安装cmake tools

cmake是一个开源的跨平台工具,可以使用编译器和平台独立性配置文件来生成天然的构建工具文件来指定给你的编译器和平台。

cmake工具集成了vscode和cmake,使得配置、构建、和调试c++程序变得简单

相关推荐
铅笔小新z2 小时前
C++入门指南:开启你的编程之旅
开发语言·c++
HIT_Weston4 小时前
27、【Ubuntu】【远程开发】内网穿透:CA 签名
linux·运维·ubuntu
Aldrich_326 小时前
蓝桥杯嵌入式赛道—-软件篇(GPIO输出模式配置)
c语言·vscode·stm32·单片机·嵌入式硬件·蓝桥杯
_OP_CHEN8 小时前
Linux网络编程:(八)GCC/G++ 编译器完全指南:从编译原理到实战优化,手把手教你玩转 C/C++ 编译
linux·运维·c++·编译和链接·gcc/g++·编译优化·静态链接与动态链接
大锦终9 小时前
【动规】背包问题
c++·算法·动态规划
犯困的土子哥9 小时前
C++:哈希表
c++·哈希算法
Code Warrior10 小时前
【Linux】Socket 编程预备知识
linux·网络·c++
智者知已应修善业10 小时前
【c语言蓝桥杯计算卡片题】2023-2-12
c语言·c++·经验分享·笔记·算法·蓝桥杯
littlepeanut.top10 小时前
C++中将FlatBuffers序列化为JSON
开发语言·c++·json·flatbuffers
hansang_IR10 小时前
【题解】洛谷 P2330 [SCOI2005] 繁忙的都市 [生成树]
c++·算法·最小生成树