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++程序变得简单

相关推荐
郭涤生5 小时前
布隆过滤器
c++
智者知已应修善业5 小时前
【求中位数】2024-1-23
c语言·c++·经验分享·笔记·算法
9ilk5 小时前
【C++】--- 特殊类设计
开发语言·c++·后端
三天不学习8 小时前
Cursor vs Trae vs VSCode:2025终极IDE横评,谁才是开发者的效率之选?
ide·vscode·编辑器
程序员zgh9 小时前
Linux系统常用命令集合
linux·运维·服务器·c语言·开发语言·c++
獭.獭.9 小时前
C++ -- STL【unordered_set与unordered_map的实现】
开发语言·c++·unordered_map·unordered_set
qq_4335545410 小时前
C++数位DP
c++·算法·图论
似水এ᭄往昔10 小时前
【C++】--AVL树的认识和实现
开发语言·数据结构·c++·算法·stl
程序员zgh10 小时前
常用通信协议介绍(CAN、RS232、RS485、IIC、SPI、TCP/IP)
c语言·网络·c++
暗然而日章10 小时前
C++基础:Stanford CS106L学习笔记 8 继承
c++·笔记·学习