vscode配置C/C++环境(超详细保姆级教学)

2023-05-16

        大一上学期被学长安利了vscode,但是下载安装后不会配置,自己连查带问搞了七八个小时终于配置好了。后面身边很多同学也不会配,都来找我帮忙配,加上之前自己摸索着配的时候感觉网上没有详细又靠谱的教程,所以决定把配置的过程记录一下供大家参考,希望可以帮到跟我一样想用却不会配置vscode的同学们。

目录

第一步 下载安装VSCode

第二步 下载安装g++

第三步 安装VSCode插件

第四步 配置调试功能

其他事项

1.中文显示乱码

         2.在终端中运行

3.调试时显示“找不到g++”


 

第一步 下载安装VSCode

这应该是最简单的一步,相信大家自己就可以完成。如果在vscode官网感觉下载特别慢的话,可以去试一下腾讯软件中心,我都是在这个网页上下载的。下载好之后根据提示安装就可以了。
5142db7b754a4b888344424669d9a2e8.png

 第二步 下载安装g++

        MinGW Distro - nuwen.nethttps://nuwen.net/mingw.html

这是当初在b站找教程的时候在评论区找到的链接,用自己的网络就可以下载 

进去之后点击图中圈起来的那个链接下载

8bf478d19442443290f89282f26b20aa.png

下载完成后进行安装,自己选择安装路径,安装的路径需要记住,马上就要用到

注意路径中不能出现中文!注意路径中不能出现中文!注意路径中不能出现中文!

370839d8d63643578a263d14947fe922.png

我这里为了方便直接装在C盘了

c7a8c2bf98824666aafc0b613e49a381.png

安装完成之后我们打开刚刚的安装路径,找到并打开MinGW -> bin,进入bin文件夹之后点一下这里,右键复制路径

bb1d4d8f4d9148ca96f122015990f920.png

 之后我们进入设置,搜索“环境变量”,选择“编辑系统环境变量”

742c0d9349fa45afbb020e0010db95e7.png

点击进入环境变量 

f5f83baaa7b9432497832867cf9c718b.png

 双击Path

1d3dc3bd218d4580b368a8dd893ff501.png

 点击新建,然后把刚刚复制的路径粘贴上去a8c489d5d28b48ba84aefb64fd23de11.png

 之后连续点三个确定就可以了。

 然后我们再来看一看刚刚的操作有没有成功,按Win+R,输入cmd,在控制台中输入g++ --version

出现这样的界面就算成功了

aec423da35a446809b52894af8edd034.png

 这样我们的g++就算安装好啦!

第三步 安装VSCode插件

现在我们打开我们刚刚安装好的VSCode,点击这个按钮

bb3c2877a0094fc1bb0fdce84c6e3785.png

 搜索C/C++ 安装第一个插件(我之前已经配置过了所以已经安装好了)

0c9277007c9d4b7d92221380317bbf47.png

再搜索安装Code Runner

5270e382e3ef4564b21106ce974440d0.png

 如果需要中文版的同学可以搜索安装中文插件 (个人不推荐,新手如果感觉入门困难可以安装)

ba83c482151949dc8cb94ac64bc6efd6.png

还有很多好用的插件,比如自动补齐,括号换颜色等,大家有需要可以自己搜一搜,这里我就不说题外话了

第四步 配置调试功能

这是配置过程中的重中之重!之前的内容在各个平台也都很容易搜得到,然后我就在这一步被卡了几个小时。

首先大家在一个你希望的位置建一个文件夹,随意起名就可以(注意不可以用中文!),以后的C/C++代码文件都要放在这个文件夹里才可以正常调试。

f6444768c06042ed81bba1835432aabc.png

这里我就建在桌面上了。

然后进入VSCode,点击Open Folder或者点击左上角File -> Open Folder,然后打开刚刚建的文件夹,选择信任父级文件夹

点击这个图标新建一个文件夹,命名为.vscode(注意必须是这个名字!)

190273d802ed4802881c8bfe360e0c8c.png

a39317efdce740bf8466be00d209b0c2.png

创建完成后再点击这个图标新建四个文件,文件名分别是

//c_cpp_properties.json
//launch.json
//settings.json
//tasks.json

f2416b518f2a451e804286163bede1e1.png

接下来复制粘贴这四个文件的内容 

首先是c_cpp_properties.json

{
  "configurations": [
    {
      "name": "Win64",
      "includePath": ["${workspaceFolder}/**"],
      "defines": ["_DEBUG", "UNICODE", "_UNICODE"],
      "windowsSdkVersion": "10.0.18362.0",
      "compilerPath": "C:/MinGW/bin/g++.exe",
      "cStandard": "c17",
      "cppStandard": "c++17",
      "intelliSenseMode": "gcc-x64"
    }
  ],
  "version": 4
}

注意compilerPath这一项要把路径改成刚才g++的安装路径:找到刚刚的安装文件夹->MinGW->bin->g++,exe ,然后复制或者手动把g++.exe的路径敲上去,格式要跟上面代码段一样

然后是launch.json

{
  "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": "C:\\MinGW\\bin\\gdb.exe",
      "preLaunchTask": "g++",
      "setupCommands": [
        {
          "description": "Enable pretty-printing for gdb",
          "text": "-enable-pretty-printing",
          "ignoreFailures": true
        }
      ]
    }
  ]
}

注意miDebuggerPath这一项也要把路径改成刚才g++的安装路径:找到刚刚的安装文件夹->MinGW->bin->gdb,exe ,然后复制或者手动把gdb.exe的路径敲上去,格式要跟上面代码段一样

 接下来是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++代码文件必须放在这个Code文件夹里,或者说有.vscode文件夹的文件夹里,如果调试放在其他位置的代码文件会报错!

可以像我这样在Code文件中建多个文件夹分类存放代码。

751f2829cebc4432bdb60d5a04c707b0.png

如果上述流程你都完成了,那么现在你已经可以新建一个.c或者.cpp文件写代码测试一下你刚刚配置好的VSCode啦!(注意文件名也不能用中文!)

其他事项

1.中文显示乱码

这是个很常见的问题,所以帮别人配置的时候一般也会帮忙搞一下

首先点击左下角的齿轮按钮,打开Settings(设置)

862ff2498ea74f98860f09e1779c9365.png

在搜索框中输入ecoding,然后如图把Encoding改成GBK (原来应该是UTF-8)

7d3626a49b104c21a57886018fceee52.png

设置完之后编辑有中文的文件就不会显示乱码啦!

2.在终端中运行

如果不喜欢每次都弹出一个小黑框的话,可以选择在终端中运行,效果如图

407b8a02a01741aa9fff3c26a33f9c51.png

这个设置也很简单,打开设置,搜索run in terminal ,找到这个选项打勾就可以啦

10d4ee6d8d4d44318a67b099e35dcbd5.png

 之后就可以点击右上角这个按钮在下面的终端运行/调试,或者按快捷键Ctrl+Alt+N运行(个人比较喜欢)

注意在终端运行之前一定要先保存,否则运行的是保存之前代码(可以在File中勾选自动保存)

681b100adaef416fa42626433da7b8f8.png

 当然也依旧可以选择按F5使用小黑框进行运行调试的

但是两个进程是冲突的,只是多了一种选择,是不可以同时用的!比如我正在终端运行代码的时候,再按F5调试代码就会出错

3.调试时显示“找不到g++”

首先检查一下是不是g++的安装路径或者文件名里面存在中文,如果存在中文需要把中文名改掉或者更换其他路径安装

如果不存在中文的话,右键点击VSCode的图标,选择“属性”

然后选择“兼容性”,勾选“以管理员身份运行此程序” ,然后依次点击“应用”,‘确定’即可(部分电脑需要选择这个选项)

079b422a9a474c6a9998c8c44dfd3b44.png

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

vscode配置C/C++环境(超详细保姆级教学) 的相关文章

  • C语言获取wifi状态

    mark https blog csdn net dongyoubin article details 122134198 int getWirelessStatus char ath char ssid char ipAddr

随机推荐

  • 最全Visual Studio版本号对应表VisualStudioVersion

    名字 版本号 简称 全称 msvc70 VC7 0 VS2002 Microsoft Visual Studio 2002 msvc71 VC7 1 VS2003 Microsoft Visual Studio 2003 msvc80 VC
  • 二叉树静态实现的示例代码

    使用指针对于初学者容易出现很多困惑 下面是一个完整的二叉树静态实现的示例代码 xff0c 包括初始化 插入节点 各种遍历方法以及一些辅助函数 include lt stdio h gt include lt stdlib h gt defi
  • 广度优先搜索(BFS)算法实现二叉树层序遍历的 C++ 代码

    include lt iostream gt 输入输出流 include lt vector gt 向量容器 include lt queue gt 队列容器 using namespace std 命名空间 定义二叉树节点结构体 stru
  • PAT 1005 Spell It Right

    Given a non negative integer N your task is to compute the sum of all the digits of N and output every digit of the sum
  • 在PC的Ubuntu虚拟机上完成一个TCP 服务器,在设备上实现一个TCP客户端

    要求 在虚拟机上实现一个服务器 xff0c 设备终端上实现一个客户端设备客户端每隔 1 秒 检测一次网卡eth2 1 xff08 WAN口网卡 xff09 的信息 xff08 使用popen调用ifconfig xff09 然后将RX和TX
  • TCP发送数据、接受数据及TCP通信程序练习

    目录 一 TCP发送数据 二 TCP接收数据 三 TCP通信程序练习 一 TCP发送数据 Java中的TCP通信 xff1a Java对于基于TCP协议的网络提供了良好的封装 xff0c 使用Socket对象来代表两端的通信端口 xff0c
  • slam学习笔记

    ubuntu20 04 使用vs code编写 现放cmake文件 xff08 记得链接库文件和配置C 43 43 版本 xff09 cmake minimum required VERSION 2 8 project learingMat
  • SLAM学习笔记

    编译环境ubuntu20 04 vs code xff08 李群 李代数 xff09 先是CMakeLists txt cmake minimum required VERSION 3 0 project learning sophus s
  • SLAM学习笔记

    编译环境ubuntu20 04 xff0c vs code 先cmake文件 cmake minimum required VERSION 2 8 project image set CMAKE BUILD TYPE 34 Release
  • SLAM学习笔记

    编译环境ubuntu20 04 vscode ceres库2 0 0 g2o库同gaoxiang12 slambook2中的版本号一致 cmake文件 cmake minimum required VERSION 2 8 project c
  • 数据结构之C语言单链表操作

    实验目的 xff1a 1 xff0e 创建一个带头结点的单链表 2 xff0e 插入元素操作 xff1a 将新元素x插入到单链表head的头部 将新元素x插入到单链表head的尾部 将新元素x插入到单链表head中第i个元素之后 3 xff
  • DBUS入门与C编程

    https blog csdn net weixin 45566765 article details 125028296 一 D Bus简介 1 D Bus是什么 D Bus最主要的用途是在 Linux 桌面环境为进程提供通信 xff0c
  • 模拟IIC——关于模拟IIC的IO口的配置选取推挽输出还是开漏输出,以及是否需要更改IO口输入输出模式和是否需要对IO配置上拉

    在使用模拟IIC的时候 xff0c 观看别人的程序的时候发现了程序之间的一些不一样的地方 代码1 IO方向设置 define SDA IN GPIOB gt MODER amp 61 3 lt lt 9 2 GPIOB gt MODER 6
  • C语言——链表

    C语言 链表 链表是一种基础的数据结构类型 xff0c 一种能够动态维护数据的线性数据表 链表的数据以结点形式存储信息 xff0c 并通过结点之间的指针实现结点之间的衔接 为什么要用链表 xff1f 链表和数组类似 xff0c 但是功能比数
  • 学习记录 | ZigBee协议栈工作流程

    第一次来CSDN记录一下学习过程 xff0c 其实就是笔记啦 之前用Typora 的 但前几天电脑出问题重装系统后打开笔记文件发现照片都打不开了 xff0c 索性想换一种记笔记方式 好啦 以下是正文 xff01 xff01 xff01 对了
  • 学习记录 | ZigBee协议栈实践——串口收发数据

    上次的理论知识学的有点杂乱 今天来跟着例程实践看一看 目录 一 ZigBee协议栈的安装 编译和下载 二 协议栈工作流程 三 串口通信主要代码 1 串口打印 2 串口打印收到的数据 四 实现 五 总结 一 ZigBee协议栈的安装 编译和下
  • 第一次画异形板后的总结感悟

    目录 画原理图前的准备 画PCB的一些好方法 蜂鸣器电路 供电电路 其他电路 杂七杂八的随记要点 总结 像这样的异形板是通过solidworks扫描实物生成的 画原理图前的准备 当然是选购元器件 一般习惯在嘉立创进行选购 选择符合要求 有库
  • 自学物联网ESP第一天

    先简单的使用串口通信AT指令 刚开始不知道用什么开发好 在博客找了很久本来打算用 eclipse 不过突然发现可以用Arduino 不过下载真的好慢 于是开始看一下函数准备一下 一 基本函数 1 setup 函数 Arduino控制器通电或
  • stm32串口发送+接收

    本文章转自B站江科大自化协 一发送 接线图 目标结构 Serial c include 34 stm32f10x h 34 include lt stdio h gt 1移植printf函数 封装sprintf include lt std
  • vscode配置C/C++环境(超详细保姆级教学)

    大一上学期被学长安利了vscode xff0c 但是下载安装后不会配置 xff0c 自己连查带问搞了七八个小时终于配置好了 后面身边很多同学也不会配 xff0c 都来找我帮忙配 xff0c 加上之前自己摸索着配的时候感觉网上没有详细又靠谱的