杂货铺 | vscode配置C/C++环境(亲测极简ver)

news2024/11/15 15:25:31

文章目录

  • 📚Step1:下载安装VSCode
  • 📚Step2:下载安装g++
  • 📚Step3:编辑环境变量
  • 📚Step4:安装vscode插件
  • 📚Step5:建好文件夹⭐️
  • 📚Step6:开始调试

📚Step1:下载安装VSCode

  • 安装官网
    在这里插入图片描述

    在这里插入图片描述

  • 双击exe开始安装,基本按提示往下。注意安装路径不要含有中文

  • 安装结束
    在这里插入图片描述

📚Step2:下载安装g++

  • 下载链接
    在这里插入图片描述
  • 下载完成后双击安装,安装路径同样不包含中文

📚Step3:编辑环境变量

  • 打开安装路径,找到并打开MinGW -> bin双击地址栏空白处,复制路径。
    在这里插入图片描述

  • 全局搜索环境变量,并打开编辑面板。
    在这里插入图片描述

  • 找到Path,点击编辑。
    在这里插入图片描述

  • 新建环境变量,输入刚刚复制的路径。记得 连续点三个确定
    在这里插入图片描述

  • 查看g++版本确认是否配置成功:win+R+cmd
    在这里插入图片描述

📚Step4:安装vscode插件

  • 中文包插件在这里插入图片描述

  • 插件①
    在这里插入图片描述

  • 插件②
    在这里插入图片描述

📚Step5:建好文件夹⭐️

  • 在你希望的位置建一个文件夹,不要用中文命名

  • 进入VSCode,左上角文件 -> 打开文件夹,打开文件夹。

  • 新建名为.vscode的文件夹(名字固定)
    在这里插入图片描述

  • 依次在.vscode文件夹内创建以下几个文件,并粘贴上对应内容:

    • c_cpp_properties.json,关注compilerPath部分路径和本地MinGW下载路径对应!
      {
        "configurations": [
          {
            "name": "Win64",
            "includePath": ["${workspaceFolder}/**"],
            "defines": ["_DEBUG", "UNICODE", "_UNICODE"],
            "windowsSdkVersion": "10.0.18362.0",
            "compilerPath": "D:/MinGW/bin/g++.exe",
            "cStandard": "c17",
            "cppStandard": "c++17",
            "intelliSenseMode": "gcc-x64"
          }
        ],
        "version": 4
      }
      
    • launch.json,同理,关注miDebuggerPath路径。
      {
        "version": "0.2.0",
        "configurations": [
          {
            "name": "(gdb) Launch", 
            "type": "cppdbg", 
            "request": "launch", 
            "program": "${fileDirname}\\${fileBasenameNoExtension}.exe", 
            "args": [], 
            "stopAtEntry": false,
            "cwd": "${workspaceRoot}",
            "environment": [],
            "externalConsole": true, 
            "MIMode": "gdb",
            "miDebuggerPath": "D:\\MinGW\\bin\\gdb.exe",
            "preLaunchTask": "g++",
            "setupCommands": [
              {
                "description": "Enable pretty-printing for gdb",
                "text": "-enable-pretty-printing",
                "ignoreFailures": true
              }
            ]
          }
        ]
      }
      
    • settings.json
      {
        "files.associations": {
          "*.py": "python",
          "iostream": "cpp",
          "*.tcc": "cpp",
          "string": "cpp",
          "unordered_map": "cpp",
          "vector": "cpp",
          "ostream": "cpp",
          "new": "cpp",
          "typeinfo": "cpp",
          "deque": "cpp",
          "initializer_list": "cpp",
          "iosfwd": "cpp",
          "fstream": "cpp",
          "sstream": "cpp",
          "map": "c",
          "stdio.h": "c",
          "algorithm": "cpp",
          "atomic": "cpp",
          "bit": "cpp",
          "cctype": "cpp",
          "clocale": "cpp",
          "cmath": "cpp",
          "compare": "cpp",
          "concepts": "cpp",
          "cstddef": "cpp",
          "cstdint": "cpp",
          "cstdio": "cpp",
          "cstdlib": "cpp",
          "cstring": "cpp",
          "ctime": "cpp",
          "cwchar": "cpp",
          "exception": "cpp",
          "ios": "cpp",
          "istream": "cpp",
          "iterator": "cpp",
          "limits": "cpp",
          "memory": "cpp",
          "random": "cpp",
          "set": "cpp",
          "stack": "cpp",
          "stdexcept": "cpp",
          "streambuf": "cpp",
          "system_error": "cpp",
          "tuple": "cpp",
          "type_traits": "cpp",
          "utility": "cpp",
          "xfacet": "cpp",
          "xiosbase": "cpp",
          "xlocale": "cpp",
          "xlocinfo": "cpp",
          "xlocnum": "cpp",
          "xmemory": "cpp",
          "xstddef": "cpp",
          "xstring": "cpp",
          "xtr1common": "cpp",
          "xtree": "cpp",
          "xutility": "cpp",
          "stdlib.h": "c",
          "string.h": "c"
        },
        "editor.suggest.snippetsPreventQuickSuggestions": false,
        "aiXcoder.showTrayIcon": true
      }
      
    • tasks.json
      {
        "version": "2.0.0",
        "tasks": [
          {
            "label": "g++",
            "command": "g++",
            "args": [
              "-g",
              "${file}",
              "-o",
              "${fileDirname}/${fileBasenameNoExtension}.exe"
            ],
            "problemMatcher": {
              "owner": "cpp",
              "fileLocation": ["relative", "${workspaceRoot}"],
              "pattern": {
                "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
                "file": 1,
                "line": 2,
                "column": 3,
                "severity": 4,
                "message": 5
              }
            },
            "group": {
              "kind": "build",
              "isDefault": true
            }
          }
        ]
      }
      
  • 保存上述配置,C/C++代码文件必须放在有.vscode文件夹的文件夹里,否则调试会报错!

📚Step6:开始调试

  • 新建一个.c.cpp文件。
    在这里插入图片描述

  • 直接点击开始图标运行,调试成功。
    在这里插入图片描述

    在这里插入图片描述


  • 参考博客
    • VSCode上搭建C/C++开发环境(vscode配置c/c++环境)Windows系统—保姆级教程
    • vscode配置C/C++环境(超详细保姆级教学)

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

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

相关文章

【Node.js从基础到高级运用】十三、NodeJS中间件高级应用

在现代web开发中,Node.js因其高效和灵活性而备受青睐。其中,中间件的概念是构建高效Node.js应用的关键。在这篇博客文章中,我们将深入探讨Node.js中间件的高级应用,包括创建自定义中间件、使用第三方中间件等。我们将从基础讲起&a…

qt vs 编程 字符编码 程序从源码到编译到显示过程中存在的字符编码及隐藏的字符编码转换

理解字符编码,请参考:unicode ucs2 utf16 utf8 ansi GBK GB2312 CSDN博客 了解windows字符显示必须了解locale概念 参考:揭密 Windows 上的各种 locale - 知乎 汉字(或者说多字节字符)的存放需求,是计算…

【CSP试题回顾】202309-2-坐标变换(其二)

CSP-202309-2-坐标变换&#xff08;其二&#xff09; 解题代码 #include <iostream> #include <vector> #include <cmath> #include <iomanip> using namespace std;struct MyOpt {double k, theta; }; int n, m, opt, s, e; double para, x, y;int …

Java项目:62 基于ssm的校园驿站管理系统+jsp

作者主页&#xff1a;舒克日记 简介&#xff1a;Java领域优质创作者、Java项目、学习资料、技术互助 文中获取源码 项目介绍 管理员管理快递仓库信息&#xff0c;管理待发货信息&#xff0c;管理已收快递&#xff0c;管理物流以及留言信息&#xff0c;管理员工和用户资料。 员…

C++——字符串、读写文件、结构体、枚举

个人简介 &#x1f440;个人主页&#xff1a; 前端杂货铺 &#x1f64b;‍♂️学习方向&#xff1a; 主攻前端方向&#xff0c;正逐渐往全干发展 &#x1f4c3;个人状态&#xff1a; 研发工程师&#xff0c;现效力于中国工业软件事业 &#x1f680;人生格言&#xff1a; 积跬步…

【Java】高级篇1:异常处理

异常&#xff1a;程序在执行过程中出现的非正常情况&#xff0c;如果不处理最终会导致JVM的非正常停止。 Java的异常抛出机制 Java异常体系 1、Throwable 2、Error和Exception 异常处理方式 1、try-catch-finally&#xff08;捕获异常&#xff09; 基本结构&#xff1a; 使用…

B140XW01 V8 +OZ9956B PDF

B140XW01 V8 PDF OZ9956B 14B38-COW 18650串联50欧点亮一颗灯珠

代码随想录算法训练营第11天| 20. 有效的括号,1047. 删除字符串中的所有相邻重复项,150. 逆波兰表达式求值

系列文章目录 目录 系列文章目录20. 有效的括号利用栈对称匹配将栈中元素弹出与判断栈顶元素是否匹配分开&#xff0c;比较耗时&#xff08;2ms)&#xff1a;若将栈中元素弹出与判断栈顶元素是否匹配放一起&#xff0c;比较节省时间(1ms)&#xff1a; 1047. 删除字符串中的所有…

探索区块链世界:从加密货币到去中心化应用

相信提到区块链&#xff0c;很多人会想到比特币这样的加密货币&#xff0c;但实际上&#xff0c;区块链技术远不止于此&#xff0c;它正在深刻地改变我们的生活和商业。 首先&#xff0c;让我们来简单了解一下什么是区块链。区块链是一种分布式数据库技术&#xff0c;它通过将…

MySQL的insert-on-duplicate语句详解

一、insert-on-duplicate语句语法 注意&#xff1a;ON DUPLICATE KEY UPDATE只是 MySQL的特有语法&#xff0c;并不是SQL标准语法&#xff01; INSERT INTO … ON DUPLICATE KEY UPDATE 是 MySQL 中一种用于插入数据并处理重复键冲突的语法。 这个语法适用于在 insert的时候…

操作系统核心知识点大梳理

计算机结构 现代计算机模型是基于-冯诺依曼计算机模型 计算机在运行时&#xff0c;先从内存中取出第一条指令&#xff0c;通过控制器的译码&#xff0c;按指令的要求&#xff0c;从存储器中取出数据进行指定的运算和逻辑操作等加工&#xff0c;然后再按地址把结果送到内存中去…

做跨境用哪种代理IP比较好?怎么选到干净的IP?

代理IP对于做跨境的小伙伴来说&#xff0c;都是必不可少的工具&#xff0c;目前出海的玩法已经是多种多样&#xff0c;开店、账号注册、短视频运营、直播带货、网站SEO等等都是跨境人需要涉及到的业务。而国外代理IP的获取渠道非常多&#xff0c;那么做跨境到底应该用哪种代理I…

Servlet两种配置

通过xml配置 <servlet><servlet-name>MyServlet</servlet-name><servlet-class>MyServlet</servlet-class> </servlet> <servlet-mapping><servlet-name>MyServlet</servlet-name><url-pattern>/MyServlet</ur…

Excel数据可视化

饼图 1、选中数据----点击插入----点击饼图 2、更改数据标签&#xff08;修改标题名直接改就行&#xff09; 柱形图 1、选中数据、点击插入二维柱形图 坐标轴问题----切换行和列 如何将横轴变成想要的4、5、6、7月&#xff1f; &#xff08;1&#xff09;右键----选择数据 -…

传值、传址、空间释放详细图解

目录 前言 一.进程 1.1 进程的映射 1.2 进程的虚拟空间 二.函数传参 2.1 函数传参 2.2 函数传值 2.2.1 函数传值案例1 2.2.2 函数传值案例2 2.2.3 返回值为常量 2.3 函数传送地址 2.3 字符串使用 前言 详细介绍函数传值和传地址区别&#xff1a;进行数据操作的区别&#xff0c…

08|记忆:通过Memory记住客户上次买花时的对话细节

无论是LLM还是代理都是无状态的&#xff0c;每次模型的调用都是独立于其他交互的。也就是说&#xff0c;我们每次通过API开始和大语言模型展开一次新的对话&#xff0c;它都不知道你其实昨天或者前天曾经和它聊过天了。 使用ConversationChain from langchain import OpenAI…

中国国际光伏展

河北省京津冀国际光伏展是一个旨在推动光伏产业发展的展览会。该展览会的举办地点在河北省&#xff0c;也被称为京津冀地区&#xff0c;这个地区是中国重要的经济发展区域之一&#xff0c;拥有丰富的太阳能资源和光伏产业基础。 光伏展览会将展示最新的光伏技术、产品和解决方案…

ABS210-ASEMI新能源专用整流桥ABS210

编辑&#xff1a;ll ABS210-ASEMI新能源专用整流桥ABS210 型号&#xff1a;ABS210 品牌&#xff1a;ASEMI 封装&#xff1a;ABS-4 正向电流&#xff08;Id&#xff09;&#xff1a;2A 反向耐压&#xff08;VRRM&#xff09;&#xff1a;1000V 正向浪涌电流&#xff1a;3…

Fabric.js在vue2中使用

Fabric.js安装 这里我是基于vue来使用的&#xff0c;先安装上Fabric.js npm install fabric 在main.js中 import fabric from fabric Vue.use(fabric);Fabric 提供了 7 种基础形状&#xff1a; fabric.Circle (圆)fabric.Ellipse (椭圆)fabric.Line (线)fabric.Polyline (多条…

汽车电子零部件(8):T_Box

前言: 网联汽车(Connected Vehicles ,CV)是一个广泛的概念,四个主要的CV线程已发展起来:互联、自主、共享和电动。这些应用于包括CV在内的垂直领域:汽车、通信、互联网和共享手机服务。中国汽车工程师学会(SAEC)提倡将车载ADAS(高级驾驶员辅助系统)与通信技术相结合…