使用 Visual Studio Code 配置 C++ 开发环境的详细指南

news2024/9/18 12:52:23

1. 前言

Visual Studio Code(VSCode)是目前非常流行的代码编辑器,凭借轻量、速度快、插件丰富等优势,受到开发者的广泛青睐。虽然许多人使用 VSCode 进行 Web 开发,但它同样支持多种编程语言,如 C++。

本指南将带你一步步完成在 VSCode 中配置 C++ 开发环境的过程,适合初学者和有经验的开发者。我们将涵盖从安装编译器到调试 C++ 程序的全流程。

2. 环境配置步骤

总览:

  1. 安装 VSCode
  2. 安装 C++ 编译器(GCC 或 MSVC)
  3. 安装 C++ 扩展插件
  4. 配置 tasks.jsonlaunch.json 文件
  5. 编写并运行第一个 C++ 程序

3. 安装 VSCode

首先,确保你已经安装了 VSCode。你可以通过访问 VSCode 官方网站 下载适合你的操作系统版本。根据平台进行安装:

  • Windows:下载并安装 .exe 文件。
  • macOS:解压 .zip 文件,并将 VSCode 拖动至 Applications 文件夹。
  • Linux:可以使用 .deb.rpm 文件安装,或通过包管理工具安装。

4. 安装 C++ 编译器

为了编写和运行 C++ 程序,VSCode 需要配置 C++ 编译器。可以选择 GCCMSVC。以下是常用编译器的安装方法。

4.1 Windows: 安装 MinGW

Windows 用户常用的 C++ 编译器是 MinGW。其包含了 GCC 编译器,可以通过以下步骤安装:

  1. 访问 MinGW 官网下载并安装 MinGW Installation Manager
  2. 打开 MinGW Installation Manager,选择 mingw32-gcc-g++ 并安装。
  3. 安装后,将 C:\MinGW\bin 路径添加到系统的 Path 环境变量。

4.2 macOS: 安装 Xcode Command Line Tools

macOS 用户只需安装 Xcode Command Line Tools,其中包含 GCC 编译器。可通过以下命令安装:

xcode-select --install

4.3 Linux: 安装 GCC

在 Linux 中,通常已经自带 GCC。如果没有安装,可以通过以下命令安装:

sudo apt update

sudo apt install build-essential

5. 安装 C++ 扩展插件

VSCode 默认不支持 C++,需要安装 C++ 插件来启用相应功能。微软官方提供的 C/C++ 插件是最常用的。

安装步骤:

  1. 打开 VSCode,点击左侧扩展按钮。
  2. 搜索 “C++”,选择由 Microsoft 提供的 C/C++ 插件并安装。

安装完成后,VSCode 将支持 C++ 的语法高亮、代码补全等功能。

6. 配置 VSCode 进行编译和调试

要让 VSCode 能够编译和调试 C++ 代码,我们需要配置 tasks.jsonlaunch.json 文件。

6.1 创建 tasks.json 文件

tasks.json 文件用于定义编译任务。通过以下步骤创建:

  1. 点击 终端 -> 配置任务 -> 创建 tasks.json 文件来自模板,选择 Others
  2. 修改生成的 tasks.json 为以下内容:
{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "build",
            "type": "shell",
            "command": "g++",
            "args": [
                "-g",
                "${file}",
                "-o",
                "${fileDirname}/${fileBasenameNoExtension}"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "problemMatcher": ["$gcc"]
        }
    ]
}
  • command 字段指向你的编译器(G++ 路径)。
  • args 字段指定编译参数,其中 -g 表示生成调试信息。

6.2 创建 launch.json 文件

launch.json 文件用于配置调试器。通过以下步骤创建:

  1. 点击 运行 -> 添加配置,选择 C++ (GDB/LLDB)
  2. 修改生成的 launch.json 文件内容如下:
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "C++ Launch",
            "type": "cppdbg",
            "request": "launch",
            "program": "${fileDirname}/${fileBasenameNoExtension}",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${fileDirname}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "miDebuggerPath": "/usr/bin/gdb",
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ],
            "preLaunchTask": "build"
        }
    ]
}

6.3 验证配置

配置完成后,你可以按 Ctrl + Shift + B 编译代码,按 F5 进行调试。如果一切配置正确,你将能够看到调试窗口,并且可以通过断点调试程序。

7. 编写并运行第一个 C++ 程序

现在我们来编写第一个 C++ 程序。

  1. 新建一个名为 main.cpp 的文件,输入以下代码:
#include <iostream>
using namespace std;

int main() {
    cout << "Hello, World!" << endl;
    return 0;
}
  1. Ctrl + Shift + B 进行编译,确保没有错误。
  2. F5 运行程序,你将在终端看到输出的 “Hello, World!” 字符串。

8. 调试 C++ 程序

VSCode 提供强大的调试功能。你可以通过以下步骤调试程序:

  1. main.cpp 中某行左侧点击设置断点。
  2. F5 运行程序,程序将在断点处暂停。
  3. 使用调试工具查看变量值、逐步执行代码或继续运行。

9. 总结

通过本文,你已经学会了如何在 Visual Studio Code 中配置 C++ 开发环境。无论是在 Windows、macOS 还是 Linux 上,使用 VSCode 配置 C++ 开发环境都相对简单,并且可以利用丰富的插件实现高效的编写、编译和调试功能。

这种轻量、灵活的 C++ 开发环境不仅适合学习者,也非常适合日常开发者使用。希望本文能帮助你顺利搭建并高效使用 VSCode 进行 C++ 开发。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2141574.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

鸿蒙开发笔记_电商严选02_登录页面跳转到我的页面、并传值

鸿蒙开发笔记整理,方便以后查阅! 由于上班较忙,只能抽空闲暇时间,快速整理更新中。。。 登录页面跳转到我的页面、并传值 效果图 我的设置页面 /*** 我的设置页面*/ import CommonConstants from ./CommonConstants import ItemData from ./ItemData import DataModel fr…

某个图形商标驳回,不建议做驳回复审!

近日一四川的网友联系到普推知产商标老杨&#xff0c;咨询看驳回的商标可以做驳回复审不&#xff0c;是个纯图形商标&#xff0c;这个一看是一标多类&#xff0c;就是在一个商标名称是申请两个类别&#xff0c;42类部分通过&#xff0c;35类全部驳回。 35类和42类引用的近似商标…

07_Python数据类型_集合

Python的基础数据类型 数值类型&#xff1a;整数、浮点数、复数、布尔字符串容器类型&#xff1a;列表、元祖、字典、集合 集合 集合&#xff08;set&#xff09;是Python中一个非常强大的数据类型&#xff0c;它存储的是一组无序且不重复的元素&#xff0c;集合中的元素必须…

SpringBoot 消息队列RabbitMQ死信交换机

介绍 生产者发送消息时指定一个时间&#xff0c;消费者不会立刻收到消息&#xff0c;而是在指定时间之后才收到消息。 死信交换机 当一个队列中的消息满足下列情况之一时&#xff0c;就会成为死信(dead letter) 消费者使用basic.reject或 basic.nack声明消费失败&#xff0…

LidarView之定制版本

介绍 LidarView软件定制开发需要关注几点&#xff1a;1.应用程序名称&#xff1b;2.程序logo&#xff1b;3.Application版本号&#xff1b;4.安装包版本号 应用程序名称 在项目的顶层cmake里边可以指定程序名称 project(LidarView)需要指定跟Superbuild一样的编译类型 set…

英语学习之fruit

目录 不熟悉熟悉 不熟悉 breadfruit 面包果 date 椰枣 raspberry 覆盆子 blackberry 黑莓 blackcurrant 黑加仑&#xff0c;黑醋栗 plum 李子 熟悉 apple 苹果&#x1f34e; coconut 椰子&#x1f965; banana 香蕉&#x1f34c; tomato 西红柿 pear 梨子 watermelon 西瓜…

30款免费好用的工具,打工人必备!

免费工具软件&#xff0c;办公人必备&#xff0c;提升工作效率 启动盘制作&#xff1a;Ventoype工具&#xff1a;微PEwindows/office jh工具&#xff1a;HEU KMS Activator桌面资料转移工具&#xff1a;个人资料专业工具右键菜单管理&#xff1a;ContextMenuManager驱动安装&a…

【面试八股总结】GMP模型

GMP概念 G&#xff08;Goroutine&#xff09;&#xff1a;代表Go协程&#xff0c;是参与调度与执行的最小单位。 存储Goroutine执行栈信息、状态、以及任务函数等。G的数量无限制&#xff0c;理论上只受内存的影响。Goroutines 是并发执行的基本单位&#xff0c;相比于传统的线…

虽难必学系列:Netty

Netty 是一个基于 Java 的高性能、异步事件驱动的网络应用框架&#xff0c;广泛用于构建各类网络应用&#xff0c;尤其是在高并发、低延迟场景下表现出色。作为一个开源项目&#xff0c;Netty 提供了丰富的功能&#xff0c;使得开发者可以轻松构建协议服务器和客户端应用程序。…

Nginx从入门到入土(一):DNS域名解析

前言 hostName&#xff0c;在Linux系统上是一个命令&#xff0c;用来显示和设置系统的主机名称。其实它就是域名。 常见的域名有我们熟悉的taobao.com;baidu.com等等。 我们在地址栏输入baidu.com 进入的就是此页面。我们看到地址栏里显示的是www.baidu.com 。 注意&#xf…

MySQL篇(运算符)(持续更新迭代)

目录 一、简介 二、运算符使用 1. 算术运算符 1.1. 加法运算符 1.2. 减法运算符 1.3. 乘法与除法运算符 1.4. 求模&#xff08;求余&#xff09;运算符 2. 比较运算符 2.1. 等号运算符 2.2. 安全等于运算符 2.3. 不等于运算符 2.4. 空运算符 2.5. 非空运算符 2.6.…

Java数据存储结构——平衡二叉树

文章目录 22.1.3 平衡二叉树22.1.3.1 LL22.1.3.2 LR22.1.3.3 RR22.1.3.4 RL 22.1.3 平衡二叉树 平衡二叉树的特点&#xff1a; 二叉树左右两个子树的高度差不超过1任意节点的左右两个子树都是一颗平衡二叉树 在原来的平衡二叉树中&#xff0c;新增数据会破坏平衡性&#xff…

Linux per memcg lru lock

内核关于per memcg lru lock的重要提交&#xff1a; f9b1038ebccad354256cf84749cbc321b5347497 6168d0da2b479ce25a4647de194045de1bdd1f1d 背景 自电子计算机诞生以来&#xff0c;内存性能一直是行业关心的重点。内存也随着摩尔定律&#xff0c;在大小和速度上一直增长。云…

Linux系统上搭建Vulhub靶场

Linux系统上搭建Vulhub靶场 ​vulhub​ 是一个开源的漏洞靶场&#xff0c;它提供了各种易受攻击的服务和应用程序&#xff0c;供安全研究人员和学习者测试和练习。要在 Linux 系统上安装和运行 vulhub​&#xff0c;可以按照以下步骤进行&#xff1a; 1. 安装 Docker 和 Docke…

数据结构(八)——Java实现七大排序

一、插入排序 1.直接插入排序 public static void insertSort(int []arr){for (int i 0; i < arr.length; i) {int j i-1;int tmp arr[i];for (; j >0 ; j--) {if(arr[j] > tmp){arr[j1] arr[j];}else{break;}}arr[j1] tmp;}}直接插入排序特性总结 1. 元素集合越…

【算法】滑动窗口—最小覆盖子串

题目 ”最小覆盖子串“问题&#xff0c;难度为Hard&#xff0c;题目如下&#xff1a; 给你两个字符串 S 和 T&#xff0c;请你在 S 中找到包含 T 中全部字母的最短子串。如果 S 中没有这样一个子串&#xff0c;则算法返回空串&#xff0c;如果存在这样一个子串&#xff0c;则可…

【三大运营商】大数据平台体系架构【顶层规划设计】

在国内运营商&#xff08;如中国移动、中国联通、中国电信&#xff09;的大数据平台建设中&#xff0c;顶层规划设计至关重要。以下是针对三大运营商为例【如电信】的大数据平台体系架构的顶层规划设计方案&#xff0c;涵盖整体架构、关键组件、数据管理、应用场景等方面。 1. …

C#数据结构与算法实战入门指南

前言 在编程领域&#xff0c;数据结构与算法是构建高效、可靠和可扩展软件系统的基石。它们对于提升程序性能、优化资源利用以及解决复杂问题具有至关重要的作用。今天大姚分享一些非常不错的C#数据结构与算法实战教程&#xff0c;希望可以帮助到有需要的小伙伴。 C#经典十大排…

音视频入门基础:AAC专题(6)——FFmpeg源码中解码ADTS格式的AAC的Header的实现

一、引言 通过FFmpeg命令&#xff1a; ./ffmpeg -i XXX.aac 可以获取到ADTS格式的AAC裸流的音频采样频率、声道数、采样位数、码率等信息&#xff1a; 在vlc中也可以获取到这些信息&#xff08;vlc底层也使用了FFmpeg进行解码&#xff09;&#xff1a; 所以FFmpeg和vlc是怎样…

【混淆矩阵】Confusion Matrix!定量评价的基础!如何计算全面、准确的定量指标去衡量模型分类的好坏??

【混淆矩阵】Confusion Matrix&#xff01;定量评价的基础&#xff01; 如何计算全面、准确的定量指标去衡量模型分类的好坏&#xff1f;&#xff1f; 文章目录 【混淆矩阵】Confusion Matrix&#xff01;定量评价的基础&#xff01;1. 混淆矩阵2.评价指标3.混淆矩阵及评价指标…