Windows环境下的VScode For C++

写在开篇:以前用的编译器是DEV-CPP跟VS2019,这两者我很长一段时间是配合使用,因为用起来感觉各有优点。dev-c++主要是简洁,而且开启速度快,在日常中写一些小的代码完全够用。缺点就是不利于多文件编写与debug。而VS2019是功能很全面的IDE,集编辑器,编译器,调试器于一体的宇宙最强IDE(doge),用来写一些大的项目自然是用起来得心应手,不过对于那些电脑配置不是太好的小伙伴们来说,建一个项目所等待的时间就较长了,等待的体验感极差!!!所以我都是集两者优点去使用。(也是没有办法 - _-|)
在接触了vscode之后才意识到是时候上手了hhh,他的功能极其强大,VS2019有的功能都可以在vscode上通过一些插件配置好,且本身体积小,70-80MB,因为它本质上是一个类似于sublime text的编辑器~~~,话不多说了,下面开始C++环境的配置
----

目录:

  • Windows环境下的VScode For C++
    • 1. 配置编译器:
      • 1.1 下载MinGW:
      • 1.2 配置环境变量:
      • 1.3 怎么找到bin路径?
      • 1.4 检查是否安装好编译器:
    • 2. VScode下载:
    • 3. 配置.json文件:
      • 3.1 launch.json代码:
      • 3.2 tasks.json代码:
      • 3.3 settings.json代码:
      • 3.4 c_cpp_properties.json代码:
      • 3.5 一些问题的解决方法:
        • 1.找不到任务"g++.exe build active file"
        • 2.Unable to start debugging.Unexpected GDB output from command:
    • 写在最后:
      • see you next blog~~

1. 配置编译器:

windows下一般使用mingw或者cygwin编译器,里面都集成了gcc(应该是这样的,具体可以自行查阅看看看看看~~)
这里我推荐下载MinGW编译器!!!

1.1 下载MinGW:

你可以去官网进行下载最新版本-------不过不是很推荐,因为下载较慢,dddd~~
点我跳转到MinGW官网!!
这里贴一个SourceForge里的下载链接:
点我跳转到SourceForge的mingw仓库!!

你会看到这样一个界面—>

不要着急点download latest version,在页面中找到如下信息---->

然后寻找当时的最新版本,我现在看到的最新版本是gcc-8.1.0,所以我选择它,找到x86_64-posix-seh点击下载!!(x86-64是64位版本的意思~~~)

其实,我这里有mingw8.1.0的安装包,嘿嘿,不知道你是安好了才看到还是啥hhh

链接:点我跳转到百度网盘下载mingw安装包
提取码:sao5

这里直接doge保命!!

1.2 配置环境变量:

下载完成后进行安装,建议自己一定要记住安装的路径,不要随便就安装到某个文件夹里,导致后续操作找不到安装路径!!!
安装完成后需要进行环境变量的配置:在你的win10电脑(默认了)中(应该没有win7的~~)按下win键,也就是左Ctrl右边的那个键,带windows图标的- - -接下来输入查看高级系统设置,按enter键进入。ps:当然其他方法找到高级系统设置也很好,找到了就行哈~~

你会看到如下界面:

点击环境变量进入:

按照我图片中给的指示操作:在系统变量中找到Path,然后双击它!!

进入到编辑环境变量界面,依旧是按照指示操作,图片比文字来的明了- - -

1.3 怎么找到bin路径?

找到mingw的安装目录,点进去,可以看到如下界面:

进入bin,然后复制此路径:还不会的建议/remake ^_^

将你复制到的bin路径粘贴在Path栏中,然后点击确定就ok了!!

1.4 检查是否安装好编译器:

同时按下Win+R,输入cmd,如下:

进入到cmd界面,输入gcc -v或者gcc --version查看版本号:如果看到一大堆你看不懂的东西和8.1.0这类版本信息,说明你安装成功了!!喜大普奔~~

2. VScode下载:

直接网址栏搜索vscode,找到官网进行下载,这里附上官网网址:
点我跳转到vscode官网!!
点击download for windows即可~~

当然,直接下载可能太慢了,得10min+或者更长时间,因为是外网,我这里有国内镜像:

还在因为vscode官方下载慢而头疼嘛,按这个步骤来直接起飞兄弟萌
首先进入vscode官方然后选择对应版本下载
然后进入浏览器下载页面
复制下载链接粘贴到地址栏
将地址中的/stable前换成https://vscode.cdn.azure.cn
即可实现超速下载
下面是一个国内镜像的下载链接

https://vscode.cdn.azure.cn/stable/b4c1bd0a9b03c749ea011b06c6d2676c8091a70c/VSCodeUserSetup-x64-1.57.0.exe

安装完成后就是配置C/C++环境了~~

3. 配置.json文件:

在代码的头文件夹里要有一个文件夹名字为 .vscode 里面包含三个文件
1.tasks.json(必须)
2.launch.json(必须)
3.settings.json(非必须)
4.c_cpp_properties.json(非必须)
其中 1 和 2 可自动生成
按F5调试,点击第一个,自动生成launch.json

配置四个.json文件
先创建一个你打算存放代码的文件夹(称作工作区),路径不能含有中文和空格和引号。c语言和c++需要建立不同的工作区(除非你懂得下面json文件的某些选项,则可以做到一个工作区使用不同的build task)。

打开VS Code,选打开文件夹(不要选“添加工作区文件夹”,理由见上一句),选择刚才那个文件夹,点VS Code上的新建文件夹,名称为.vscode(这样做的原因是Windows的Explorer不允许创建的文件夹第一个字符是点),然后创建 launch.json,tasks.json,settings.json,c_cpp_properties.json放到.vscode文件夹下,效果图:

其中launch.json与tasks.json可以自动生成,先编写一个简单的cpp代码,然后点击F5调试,此时就会弹出一个提示,如下:

点击C++(GDB/LLDB),此时又会弹出如下提示:

点击g++.exe -生成和调试活动文件,选择你刚刚下载的mingw,我这里有几个编译器所以选项很多,估计你那就一个mingw,选g++.exe就好了~~

此时launch.json与tasks.json已经默认配置好,也就是你的代码可以run了,我写了一个hello.cpp,如下:

到这里其实已经算配置完成了,但如果就这,那大伙也不禁喷一句就这??我们不用默认的.json文件,我们自己配置!!

3.1 launch.json代码:

//自己配置的launch.json文件
// https://github.com/Microsoft/vscode-cpptools/blob/master/launch.md
{"version": "0.2.0","configurations": [{"name": "(gdb) Launch", // 配置名称,将会在启动配置的下拉菜单中显示"type": "cppdbg", // 配置类型,cppdbg对应cpptools提供的调试功能;可以认为此处只能是cppdbg"request": "launch", // 请求配置类型,可以为launch(启动)或attach(附加)"program": "${fileDirname}/${fileBasenameNoExtension}.exe", // 将要进行调试的程序的路径"args": [], // 程序调试时传递给程序的命令行参数,一般设为空即可"stopAtEntry": false, // 设为true时程序将暂停在程序入口处,相当于在main上打断点"cwd": "${workspaceFolder}", // 调试程序时的工作目录,此为工作区文件夹;改成${fileDirname}可变为文件所在目录"environment": [], // 环境变量"externalConsole": true, // 为true时使用单独的cmd窗口,与其它IDE一致;18年10月后设为false可调用VSC内置终端"internalConsoleOptions": "neverOpen", // 如果不设为neverOpen,调试时会跳到“调试控制台”选项卡,你应该不需要对gdb手动输命令吧"MIMode": "gdb", // 指定连接的调试器,可以为gdb或lldb。但我没试过lldb"miDebuggerPath": "D:\\mingw64\\bin\\gdb.exe", // 调试器路径,Windows下后缀不能省略,Linux下则不要"setupCommands": [{ // 模板自带,好像可以更好地显示STL容器的内容,具体作用自行Google"description": "Enable pretty-printing for gdb","text": "-enable-pretty-printing","ignoreFailures": true}],"preLaunchTask": "Compile" // 调试会话开始前执行的任务,一般为编译程序。与tasks.json的label相对应}]
}

3.2 tasks.json代码:

//自己配置的tasks.json文件
// https://code.visualstudio.com/docs/editor/tasks
{"version": "2.0.0","tasks": [{"label": "Compile", // 任务名称,与launch.json的preLaunchTask相对应"command": "g++", // 要使用的编译器,C++用g++"args": ["${file}","-o", // 指定输出文件名,不加该参数则默认输出a.exe,Linux下默认a.out"${fileDirname}/${fileBasenameNoExtension}.exe","-g", // 生成和调试有关的信息"-Wall", // 开启额外警告"-static-libgcc", // 静态链接libgcc,一般都会加上"-fexec-charset=utf-8", // 生成的程序使用GBK编码,不加这一条会导致Win下输出中文乱码"-std=c++11", // C++最新标准为c++17,或根据自己的需要进行修改], // 编译的命令,其实相当于VSC帮你在终端中输了这些东西"type": "process", // process是vsc把预定义变量和转义解析后直接全部传给command;shell相当于先打开shell再输入命令,所以args还会经过shell再解析一遍"group": {"kind": "build","isDefault": true // 不为true时ctrl shift B就要手动选择了},"presentation": {"echo": true,"reveal": "always", // 执行任务时是否跳转到终端面板,可以为always,silent,never。具体参见VSC的文档"focus": false, // 设为true后可以使执行task时焦点聚集在终端,但对编译C/C++来说,设为true没有意义"panel": "shared" // 不同的文件的编译信息共享一个终端面板},"problemMatcher": "$gcc" // 此选项可以捕捉编译时终端里的报错信息;但因为有Lint,再开这个可能有双重报错}]
}

3.3 settings.json代码:

// {//     "files.associations": {//         "vector": "cpp",
//         "string": "cpp",
//         "iostream": "cpp"
//     }
// }
{"files.associations": {"typeinfo": "cpp","ostream": "cpp","iostream": "cpp","array": "cpp","*.tcc": "cpp","cctype": "cpp","clocale": "cpp","cstdarg": "cpp","cstdint": "cpp","cstdio": "cpp","cstdlib": "cpp","cwchar": "cpp","cwctype": "cpp","unordered_map": "cpp","vector": "cpp","exception": "cpp","fstream": "cpp","functional": "cpp","initializer_list": "cpp","iosfwd": "cpp","istream": "cpp","limits": "cpp","new": "cpp","sstream": "cpp","stdexcept": "cpp","streambuf": "cpp","tuple": "cpp","type_traits": "cpp","utility": "cpp","deque": "cpp","queue": "cpp","atomic": "cpp","cmath": "cpp","cstddef": "cpp","algorithm": "cpp","map": "cpp","memory": "cpp","memory_resource": "cpp","optional": "cpp","string": "cpp","string_view": "cpp","system_error": "cpp"}
}

3.4 c_cpp_properties.json代码:

{"configurations": [{"name": "Win32","includePath": ["${workspaceFolder}/**"],"defines": ["_DEBUG","UNICODE","_UNICODE"],"compilerPath": "D:\\mingw64\\bin\\g++.exe","cStandard": "c11","cppStandard": "c++11","intelliSenseMode": "clang-x64"}],"version": 4
}

到这里VScode的C/C++环境已经基本配置完成,如果觉得不够好可以自行改进,如果有错误可以issue!!

3.5 一些问题的解决方法:

1.找不到任务"g++.exe build active file"


错误原因:launch.json中的 “preLaunchTask” 和 tasks.json的 “label” 后面的内容要相同,具体原因自行百度,俺也不懂~~
像这样:
launch.json:

tasks.json:
二者名称相同就行,是什么名称无所谓~~

2.Unable to start debugging.Unexpected GDB output from command:


原因:编译环境(MinGW)不支持中文路径,将路径中的中文更改即可。还有记得文件夹的命名文件的命名中也不能有中文,不然也会报错!!

写在最后:

总的来说,俺已经很用心去写了,查阅了各种资料,总结了大佬们的经验,当然我自己也失败了很多次,原因都是配置的不够好(不能输出中文啥的)。欢迎大伙提出建议!!有错误请直接issue~~
把自己的经验写出来果然感觉不一样了,理解也能更深刻,确实是这样hh~~

see you next blog~~

从0开始配置Win环境下VScode (VScode For C/C++)相关推荐

  1. win环境下,django+postgresql配置

    先下载postgresql的python包,选择合适自己的python版本和平台32位还是64位,http://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml 下载w ...

  2. 电脑访问不了虚拟机ftp服务器,解决win环境下访问本机虚拟机中centos7 ftp服务器的问题...

    inux搭建ftp服务器 1.安装软件: yum install vsftpd 2.修改配置文件vsftpd.conf: vim /etc/vsftpd/vsftpd.conf 把anonymous_ ...

  3. CUDA+VS2017+win环境下 cuda工程环境搭建(解决标识符未定义或申明)

    CUDA+VS2017+win环境下 cuda工程环境搭建 引言 前提准备(CUDA和VS的安装) Visual Studio 配置 测试 Reference 引言 在学习CUDA并行计算原理时,在V ...

  4. Hadoop2.6.0+Linux Centos7+idea环境下:MapReduce二度好友推荐案例

    目录 一.问题描述 二.intellij idea中编写代码+打包项目 三.xftp中上传jar包到Linux 四.hadoop中准备输入数据+运行jar包+查看输出结果 一.问题描述 使用MapRe ...

  5. 【OpenCV3】OpenCV3.0 在WIN8+VS2012环境下的配置

    一.配置环境变量 1.1.在OpenCV官网http://opencv.org/下载OpenCV最新版本OpenCV3.0 ALPHA ,并解压到指定安装路径下(这里安装到D:\OpenCV300下) ...

  6. Creo4.0安装与VS2015环境下的开发配置

    Creo4.0+VS2015 1. Creo4.0 M010下载地址 http://www.zh2013.com/post/20170627.html 建议使用迅雷下载 2. 安装Creo4.0 生成 ...

  7. 【新笔记本环境配置】win10下 Anaconda+Vscode+MobaXterm安装

    目录 1.简介 2.安装 安装vscode代码编辑器 安装MobaXterm远程连接服务器 安装Anaconda环境(为了配置各种python解析器,否则代码跑不起来) 验证安装成功与否 配置环境变量 ...

  8. 【Linux】在Linux环境下使用VSCode调试C/C++程序

    一.前期准备 1.首先在官网下载并安装好visual stdio code 2. 因为vscode只是一个代码编辑器,没有自带有C/C++的编译器,因此我们需要安装一个C/C++编译器,打开终端依次输 ...

  9. ExpRe[3] python[0] Anaconda配置python环境

    文章目录 Anaconda 安装和初始配置 创建环境 VSCode中使用 总结与问答练习 时效性 本篇撰写时间为2021.11.13,由于计算机技术日新月异,博客中所有内容都有时效和版本限制,具体做法 ...

最新文章

  1. java 调用webservice的各种方法总结
  2. html用户注册信息,首页-用户注册-填写注册信息
  3. 想要准备阿里/百度/腾讯/美团的面试?了解一下
  4. 如何使用 50 行 Python 代码制作一个计算器
  5. MSSql-SP_who分析数据库性能
  6. java适配器各三种_适配器三种
  7. java xfire webservice client_Xfire调用 webservice封装
  8. 前沿 | 美国白宫AI峰会闭幕:特朗普政府5大措施加速布局AI生态
  9. 车辆动力学知识总结(五)运动学模型的线性化和离散化
  10. stylelint规则大全
  11. Oracle中的数据类型---NUMBER
  12. openCV学习资料整理
  13. android 打开qq临时会话,Electron 中打开 QQ 临时会话
  14. 2021Java进阶学习资料!java自学宝典pdf下载
  15. 攻防世界 简单的base编码
  16. ESSENTIAL C++ 读书笔记
  17. 波士顿房价预测python代码_Python之机器学习-波斯顿房价预测
  18. 浏览器标准模式和怪异模式之间的区别
  19. ZigBee 定位解决方案
  20. 依靠国家资源,发展人工智能

热门文章

  1. 放心了!邮政、顺丰和京东基本全部复工
  2. 奥迪公布未来五年计划:将在电动汽车方面投资120亿欧元
  3. 任正非:5G只是一个工具 本身没有安全问题
  4. 快手副总裁林粼:快手将从事5G相关业务线研究布局
  5. 苹果为什么收购英特尔手机基带业务?库克解释了一下
  6. 首次击败美国!2019《财富》世界500强公布:129家中国公司上榜
  7. iOS 13发布日期确定 苹果WWDC2019定档!
  8. 拳王虚拟项目公社:通过信息差获免费取虚拟资源,网上怎么售卖教程赚钱
  9. 自定义ScrollView控件 -- 拉申时跟随缩放效果
  10. android 使用外部字体