VSCode 配置 C++ 环境

文章目录

  • 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.hqwc.cn/news/227537.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

概要设计检查单、需求规格说明检查单

1、概要设计检查表 2、需求规格说明书检查表 概要&#xff08;结构&#xff09;设计检查表 工程名称 业主单位 承建单位 检查依据 1、设计方案、投标文件&#xff1b;2、合同&#xff1b;3、信息系统相关技术标准及安全规范&#xff1b; 检查类目 检查内容 检查…

基于Java+Vue+uniapp微信小程序校园二手交易平台设计和实现

博主介绍&#xff1a;✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专…

Unity 关于生命周期函数的一些认识

Unity 生命周期函数主要有以下一些&#xff1a; Awake(): 在脚本被加载时调用。用于初始化对象的状态和引用。 OnEnable(): 在脚本组件被启用时调用。在脚本组件被激活时执行一次&#xff0c;以及在脚本组件被重新激活时执行。 Reset(): 在脚本组件被重置时调用。用于重置脚本…

递归实现全排列

思路: 对于给定的集合&#xff0c;选择一个元素作为当前位置的元素。将当前位置的元素与集合中其他位置的元素交换&#xff0c;依次产生新的排列。通过递归调用&#xff0c;将当前位置向后移动&#xff0c;继续生成新的排列。当当前位置达到集合的末尾时&#xff0c;表示生成了…

Charles下载安装及配置之Mac

因工作需要用到抓包工具&#xff0c;但Fiddler不能在mac上使用&#xff0c;所以找到了Charles&#xff0c;Charles其实是一款代理服务器&#xff0c;通过过将自己设置成系统&#xff08;电脑或者浏览器&#xff09;的网络访问代理服务器&#xff0c;然后截取请求和请求结果达到…

Leetcode—28.找出字符串中第一个匹配项的下标【简单】

2023每日刷题&#xff08;四十&#xff09; Leetcode—28.找出字符串中第一个匹配项的下标 实现代码 int strStr(char* haystack, char* needle) {int len1 strlen(haystack);int len2 strlen(needle);int idx -1;int i 0;while(i < len1 - len2) {if(strncmp(haystac…

蓝桥杯物联网竞赛_STM32L071_5_串口接收发送数据

理论&#xff1a; 串口采取异步通信&#xff0c;即不依赖时钟节拍来接收或发送数据&#xff0c;而是采用互相约定的波特率传输数据。 波特率与单位时间传输的比特数有关&#xff0c;波特率越大传输的数据越多 传输一个比特花费的时间T 1 / 比特率 接受和发送数据的时候需要…

JS+ES6新增字符串操作方法大汇总,共四十七种方法

让我为大家介绍一下字符串的操作方法吧&#xff0c;你知道与不知道的大部分都在这&#xff01; 分类可能有点不太对&#xff0c;还请大家见谅&#xff01; 增 1.concat() 拼接字符串 可以连接两个或多个字符串 let str "hello"let str1 " str"console…

VS2010配置opencv2.4.10

1.下载opencv2.4.10&#xff0c;百度网盘链接如下&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1UdoQJbRUEB_G2urT703xYQ 提取码&#xff1a;7lbd 2.运行opencv-2.4.10.exe&#xff0c;将文件提取到一个自定义目录里&#xff1a; 3.添加系统环境变量 在“系统变量…

知识变现的未来:解析知识付费系统的核心

随着数字时代的发展&#xff0c;知识付费系统作为一种新兴的学习和知识分享模式&#xff0c;正逐渐引领着知识变现的未来。本文将深入解析知识付费系统的核心技术&#xff0c;揭示其在知识经济时代的重要性和潜力。 1. 知识付费系统的基本架构 知识付费系统的核心在于其灵活…

代码随想录算法训练营 ---第四十九天

前言&#xff1a; 今天是买卖股票的最佳时机系列&#xff0c;本系列之前在学习贪心思想时做过一些。 第一题&#xff1a; 简介&#xff1a; 本题在读题时我们要注意到几个细节 1.本题股票买卖只有一次。2.我们要在最低点买股票&#xff0c;在最高点卖股票。 我的思路&#…

基于SSM抗疫爱心小栈APP-计算机毕设 附源码 54553

SSM抗疫爱心小栈APP 目 录 摘要 1 绪论 1.1 背景及意义 1.2研究现状 1.3ssm框架 1.4论文结构与章节安排 2 2 抗疫爱心小栈APP系统分析 2.1 可行性分析 2.2 系统流程分析 2.2.1 数据增加流程 2.2.2 数据修改流程 2.2.3数据删除流程 2.3 系统功能分析 2.3.1功能性分…