VSCode 配置 C++ 环境

news2024/11/17 19:49:48

文章目录

  • VSCode 配置 C++ 环境
    • 1. 配置 C++ 编译器
      • 1.1 下载 MinGW
      • 1.2 添加环境变量
      • 1.3 测试
    • 2. 配置编辑器 VSCode
      • 2.1 下载 VSCode
      • 2.2 安装插件
      • 2.3 运行代码
    • 3. 优化
    • Reference

VSCode 配置 C++ 环境

VSCode(Visual Studio Code)是一款轻量级的代码编辑器,拥有丰富的插件生态系统,支持多种语言开发。在本文中,作者将介绍如何在 VSCode 中配置 C++ 环境,以便于开发和调试 C++ 代码。

VSCode 具有以下优势:

  • 轻量级:相比于其他 IDE,VSCode 占用的资源更少,启动更快。
  • 插件丰富:VSCode 拥有丰富的插件生态系统,可以满足不同开发者的需求。
  • 跨平台:VSCode 支持在 Windows、macOS 和 Linux 上运行。
  • 集成 Git:VSCode 内置 Git 支持,方便代码版本控制。

1. 配置 C++ 编译器

首先需要安装 C++ 编译器。在 Windows 上,可以安装 MinGW 或者 Visual Studio;在 MacOS 上,可以安装 Clang 或者 Xcode;在 Linux 上,可以安装 GCC。

作者将以 Windows 的 MinGW 为例:

1.1 下载 MinGW

官方下载:https://www.mingw-w64.org/downloads/

sourceforge下载:https://sourceforge.net/projects/mingw-w64/files/

(1)进入 sourceforge 网页,点击 x86_64-win32-seh 进行下载:

注意:

如果因网速等原因下载较慢,可点击链接并输入密码直接获取:https://luguoliang.lanzouk.com/iN7OB0yrr12h 密码:liang

(2)解压该压缩包(x86_64-8.1.0-release-win32-seh-rt_v6-rev0.7z),解压之后会出现一个 mingw64 文件夹:

1.2 添加环境变量

win + i 调出系统设置,在查找设置中输入环境变量,点击编辑账户的环境变量,将 mingw64 下的 bin 路径(作者为 D:\Software\mingw64\bin)添加至用户变量:

注意: 添加完环境变量后,务必重启电脑。

1.3 测试

win + R 输入 cmd 打开 CMD 命令窗口,输入以下指令即可验证 MinGW 是否配置成功:

gcc -v

若输出以下内容,即配置成功:

C:\Users\xxxxx>gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=D:/Software/mingw64/bin/../libexec/gcc/x86_64-w64-mingw32/8.1.0/lto-wrapper.exe
Target: x86_64-w64-mingw32
Configured with: ...
Thread model: win32
gcc version 8.1.0 (x86_64-win32-seh-rev0, Built by MinGW-W64 project)

2. 配置编辑器 VSCode

VSCode(Visual Studio Code)是一款流行的跨平台代码编辑器,具有许多特性,使其成为编写 C++ 代码的的理想选择。

2.1 下载 VSCode

进入官网:https://code.visualstudio.com,点击下载:

安装 VSCode(一直默认即可)。

2.2 安装插件

搜索插件 C/C++,点击 Install 下载:

2.3 运行代码

新建一个文件夹 Test 并在 VSCode 中打开,再新建一个 test.cc,输入以下代码:

#include <iostream>

int main(){
    std::cout << "Hello World! 你好呀 C++" << std::endl;

    return 0;
}

点击导航栏中的 Run,选择 Run Without Debugging

点击 C++ (GDB/LLDB),再选择 C/C++:g++.exe

输出如下:

3. 优化

为了更加方便的使用 VSCode 来编写 C++ 代码,将对其进行一些优化,实现以下功能:

  • 打印结果弹窗显示
  • 解决中文乱码问题
  • 收纳 .exe 可执行文件

项目文件结构如下图所示:

  • C++:项目文件
    • .vscode:VSCode 配置文件
      • c_cpp_properties.jsonlaunch.jsontasks.json
    • Code:代码文件
      • build:收纳 .exe 可执行文件

c_cpp_properties.json 内容如下:

{
    "configurations": [
        {
            "name": "Win32",
            "includePath": [
                "${workspaceFolder}/**"
            ],
            "defines": [
                "_DEBUG",
                "UNICODE",
                "_UNICODE"
            ],
            "windowsSdkVersion": "10.0.17763.0",
            "compilerPath": "D:\\Software\\mingw64\\bin\\g++.exe", /*bin目录下的g++.exe,两个反斜杠\\*/
            "cStandard": "c11",
            "cppStandard": "c++17",
            "intelliSenseMode": "${default}"
        }
    ],
    "version": 4
}

launch.json 内容如下:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "g++.exe build and debug active file",
            "type": "cppdbg",
            "request": "launch",
            "program": "${fileDirname}\\build\\${fileBasenameNoExtension}.exe", /*收纳exe可执行文件*/
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": true,
            "MIMode": "gdb",
            "miDebuggerPath": "D:\\Software\\mingw64\\bin\\gdb.exe", /*bin目录下的gdb.exe,两个反斜杠\\*/
            "setupCommands": [
                {
                    "description": "为 gdb 启用整齐打印",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ],
            "preLaunchTask": "task g++"
        }
    ]
}

tasks.json 内容如下:

{
    "version": "2.0.0",
    "tasks": [
        {
            "type": "shell",
            "label": "task g++",
            "command": "D:\\Software\\mingw64\\bin\\g++.exe", /*bin目录下的g++.exe,两个反斜杠\\*/
            "args": [
                "-g",
                "${file}",
                "-o",
                "${fileDirname}\\build\\${fileBasenameNoExtension}.exe", /*收纳exe可执行文件*/
                "-fexec-charset=GBK", /*中文乱码*/
                "-I",
                "F:\\C++", /*c/c++项目的文件夹,两个反斜杠\\*/
                "-std=c++17"
            ],
            "options": {
                "cwd": "D:\\Software\\mingw64\\bin" /*bin目录,两个反斜杠\\*/
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": "build",
        }
    ]
}

整体效果如下:

Reference

[1]:VsCode安装和配置C++环境详细全流程

[2]:VScode中配置C语言/C++运行环境

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

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

相关文章

Linux系统之部署Node.js环境

Linux系统之部署Node.js环境 一、Node.js介绍1.1 Node.js简介1.2 npm简介1.3 Node.js官网 二、本地环境介绍2.1 本地环境规划2.2 本次实践介绍 三、部署Node.js环境3.1 下载Node.js安装包3.2 解压Node.js安装包3.3 复制二进制文件3.4 配置环境变量3.5 检查node及npm版本 四、NP…

EXCEL的自定义格式,比如 @_ ,一个我很少用的功能的简单总结

目录 前言 1 入口&#xff1a; 2 有用的一些功能 2.1 可以自动在 你输入的字符串前后加 预设内容 2.1.1 具体见下面 2.1.2 对比EXCEL得常用拖动功能 2.2 设置填充下划线 2.2.1 效果如下 2.2.2 问题 2.2.3 下划线的显示问题 2.3 比如 #.## 2.4 比如 000.000 2.5 比…

自动化测试webdriver常用API总结

目录 前言&#xff1a; 1. selenium的简单介绍 2. selnium的下载 3. WebDriver常用API 前言&#xff1a; WebDriver 是一个自动化测试工具&#xff0c;主要用于模拟浏览器行为&#xff0c;实现自动化测试。下面是一些 WebDriver 常用 API 总结&#xff1a; 1. selenium的…

STM32--ESP8266物联网WIFI模块(贝壳物联)--远程无线控制点灯

本文适用于STM32F103C8T6等MCU&#xff0c;其他MCU可以移植&#xff0c;完整资源见文末链接 一、简介 随着移动物联网的发展&#xff0c;各场景下对于物联控制、数据上传、远程控制的诉求也越来越多&#xff0c;基于此乐鑫科技推出了便宜好用性价比极高的wifi物联模块——ESP…

CentOS 7.6安装 MongoDB 5.0.2

1、选择下载地址 进入下载官网 https://www.mongodb.com/try/download/community 选择右侧MongoDB Community Server Version&#xff1a;5.0.2&#xff08;current&#xff09; Platform&#xff1a;RedHat / CentOS 7.0 Package&#xff1a;tgz 点击Copy复制 安装位置&am…

爆肝总结,软件测试-常见并发问题+解决方案,测试进阶...

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 并发测试的定义 …

LVS负载均衡--NET模式

目录 企业群集应用概率 群集的含义 问题 根据群集所针对的目标差异&#xff0c;可分为三种类型 负载均衡群集(Load Balance Cluster) 高可用群集(High Availability Cluster) 高性能运算群集(High Performance Computer Cluster) 负载均衡群集架构 负载均衡的结构 LV…

XuperChain搭建+报错+注意事项

安装依赖 golang 这里安装的是15-17版本 wget -c https://dl.google.com/go/go1.15.2.linux-amd64.tar.gz -O - | sudo tar -xz -C /usr/local 添加环境变量 这个可以通过添加下面的行到/etc/profile文件(系统范围内安装)或者$HOME/.profile文件(当前用户安装 vim /etc…

论文笔记--GPT-4 Technical Report

论文笔记--GPT-4 Technical Report 1. 报告简介2. 报告概括3 报告重点内容3.1 Predictable Scaling3.2 Capabilities3.3 limitations3.3 Risks & mitigations 4. 报告总结5. 报告传送门6. References 1. 报告简介 标题&#xff1a;GPT-4 Technical Report作者&#xff1a;…

机器学习——单变量线性回归、梯度下降

文章目录 一、机器学习的分类二、线型回归Linear regression&#xff08;单变量线性回归&#xff09;三、代价函数3.1 建模误差3.2 平方误差代价函数 Squared error cost function3.3 梯度下降3.4 梯度下降与线性回归相结合 一、机器学习的分类 监督学习&#xff1a;学习数据带…

算法模板(3):搜索(6):做题积累

算法模板&#xff08;3&#xff09;&#xff1a;搜索&#xff08;6&#xff09;&#xff1a;做题积累 一、DFS 1. 1113. 红与黑 有一间长方形的房子&#xff0c;地上铺了红色、黑色两种颜色的正方形瓷砖。你站在其中一块黑色的瓷砖上&#xff0c;只能向相邻&#xff08;上下…

【剑指offer专项突破版】链表篇——“C“

文章目录 前言一.删除链表的倒数第 n 个结点题目分析思路分析细节分析步骤代码 二.链表中环的入口节点题目分析思路分析写法①代码写法②代码: 三.两个链表的第一个重合节点题目分析思路分析代码 四.反转链表题目分析思路分析法①代码法②代码法③代码 五.链表中的两数相加题目…

西南交通大学智能监测 培训课程练习4

2023.056.07和09培训 项目实战 目录 一、infracore&#xff08;基础核心层&#xff09; 1.1database 1.2config 1.3util 二、业务领域模块 2.1structure模块 2.1.1domain层 2.1.2application层 2.1.3adapter层 2.2sensor模块 2.2.1domian层 2.2.2application层 2.2.…

一文搞懂什么是Docker

一、什么是Docker 微服务虽然具备各种各样的优势&#xff0c;但服务的拆分通用给部署带来了很大的麻烦。 分布式系统中&#xff0c;依赖的组件非常多&#xff0c;不同组件之间部署时往往会产生一些冲突。在数百上千台服务中重复部署&#xff0c;环境不一定一致&#xff0c;会遇…

Java ~ Reference ~ Finalizer【总结】

前言 文章 相关系列&#xff1a;《Java ~ Reference【目录】》&#xff08;持续更新&#xff09;相关系列&#xff1a;《Java ~ Reference ~ Finalizer【源码】》&#xff08;学习过程/多有漏误/仅作参考/不再更新&#xff09;相关系列&#xff1a;《Java ~ Reference ~ Final…

基于Python的接口自动化-Requests模块

目录 引言 一、模块说明 二、Requests模块快速入门 1 发送简单的请求 2 发送带参数的请求 3 定制header头和cookie 4 响应内容 5 发送post请求 6 超时和代理 三、Requests实际应用 引言 在使用Python进行接口自动化测试时&#xff0c;实现接口请求…

2023春期末考试选择题R2-9AVL树插入调整详解

题目&#xff1a; 将 8, 9, 7, 2, 3, 5, 6, 4 顺序插入一棵初始为空的AVL树。下列句子中哪句是错的&#xff1f; A. 4 和 6 是兄弟 B. 5 是 8 的父结点 C. 7 是根结点 D. 3 和 8 是兄弟 解题要点&#xff1a; 需要对AVL树的4种旋转方式熟悉。 AVL旋转过程&#xff1a; 根据…

体验ChatGPT使用

ChatGPT是一种基于GPT&#xff08;Generative Pre-train Transformer&#xff09;模型的大型语言模型&#xff0c;由OpenAI公司开发。 交互时&#xff0c;有一定的技巧&#xff0c;可以快速准确的反馈正确答案。 一、开发贪吃蛇游戏 浏览器访问&#xff1a;https://chat.opena…

taro使用小记 —— 持续更新

目录 1、在 taro 中使用 axios2、在 taro 中添加全局组件自动引入和方法自动引入3、在 taro 中使用 pinia 1、在 taro 中使用 axios taro 3.6 版本已经支持了网络请求库。 需安装插件 tarojs/plugin-http 使用和注意事项说明&#xff1a; https://www.npmjs.com/package/taroj…