Vscode配置C++环境
(终于申请博客了qaq)
之前用了那么久Dev-C++,总算换了一个编辑器,Visual Studio Code (Vscode)。
界面可比以前的舒适多了。

Vscode作为一款功能极其丰富的开发工具,其实配置也要麻烦一些,前几天折腾了好一会才配置好,这里简单的总结分享一下。
这是大纲:
- 下载和安装
- 配置编译器
- 配置环境文件
- 解决include path的问题
- 使用code-runner编译中文路径
- 颜色和主题
1.下载和安装
首先下载不用说,去官网上选择Download就好了,安装过程很简单

2.配置编译器
安装完之后,需要去配置编译器
我是直接使用的Dev-C++里的MinGW
之前没有的话去官网http://www.mingw.org/下一个
打开控制面板->系统与安全->系统->左侧栏里的“高级系统设置”
在系统属性“高级”一栏下方,打开环境变量

选中图中的Path变量点击编辑,将下好的或者已经有的MinGW的路径复制进去,精确到bin文件夹,注意不要覆盖以前的路径,如果有别的路径,要在其后加上分号分隔,然后粘贴。

弄好以后,在cmd中输入g++,回车
如果返回的是
g++: fatal error: no input files
compilation terminated.
那就是配置好了。
3.配置环境文件
接下来在Vscode里下载一些必备的插件
在Extensions搜索C/C++ 和 C++ Intellisense并下载

下好以后,打开你常用放代码的文件夹,选择任意一份代码打开,
在Run界面中点击"create a launch.json file"

它会自动弹出Select Environment,在选项中选择C++ (GDC/LLDB),并继续选择“g++.exe - 生成和调试活动文件”。

随后会弹出一个launch.json文件,要将其中的"externalConsole"设为true

此时Vscode会在你打开的文件夹下方新建一个.vscode的文件夹,里面是配置文件
4.解决include path的问题
返回cpp文件,如果这时#include头文件下方有波浪线,将鼠标移到波浪线下方,有如下图的提示

这时ctrl+shift+p打开搜索界面,找到C/C++: Edit Configurations (UI)

我们要在“包含路径”下方添加路径。

在cmd中输入指令"g++ -v -E -x c++ -"查看g++ include路径

将图中红线标出来的部分复制到包含路径里,保留原先的"${workspaceFolder}/**"

回到cpp界面,波浪线应该就消失了。
按F5调试运行代码,用惯Dev-C++的人发现终端一闪而过可能会很迷惑
这是因为Dev-c++在运行程序时会自动帮你加上system("pause"),使终端运行完毕后暂停
在这里手动加上就好了

5.使用code-runner编译中文路径
但是事情还并没有结束
有些人命名文件的习惯不大好,可能会收获这样的界面

这就是MinGW gdb.exe调试程序的万年大坑——不支持中文路径。
网上有些博客说可以通过更改Windows系统字符编码解决,但是好像只有Win10可以这么干,当时评论区里的反馈好像会导致其它界面乱码,反正我Win8的笔记本做不到。
这种情况有另外一个解决办法:不用gdb调试,我们用code-runner编译代码。
code-runner需要c++ clang编译器的支持,下载网址在这里:http://clang.llvm.org/。
安装完后环境变量设置同上。
在Extensions中安装C/C++ Clang Command Adapter和Code Runner。

下好后你会发现Vscode右上角多了运行的图标(就是那个三角形,我刚开始截图的时候忘删了,所以一直都有)
现在点击左下角齿轮打开Settings,
在Extensions->Run Code configuration里找到这两个设置并把它们勾上,修改过的设置左侧会出现竖线。

回到cpp界面,点击三角形图标运行,就可以发现没有问题了

当然如果你的命名想再随意一点,像文章最开始的那样既有中文还有空格和特殊符号,那还需要再改一些东西。
在Run Code configuration设置里找到Executor Map,打开settings.json,
在cpp一栏的编译命令中在文件名两旁加上\",看图

如果没有加双引号,g++会将带有空格或"."等特殊符号的文件当成好几个文件,造成一些奇怪的错误。
编辑文件后保存,所有cpp代码就都可以运行了。
6.颜色和主题
Vscode有大量好看的主题可供选择,
你可能就发现了我的界面和新装的Vscode界面颜色等不大一样。
在Vscode左下角的齿轮中,可以看到 "Color Theme",这里有很多主题选项。还有更多的主题在Extensions里面,
个人极度推荐Monokai Pro里的Classic配色(就是现在用的这个啦)


Vscode配置C++环境的更多相关文章
- VSCode配置c++环境简单教程
VSCode配置c++环境简单教程 1.下载MinGW 安装有关gdb,gcc,g++的所有包 2.文件夹 打开一个文件夹 在里面随便写一个cpp 不管是VS还是VSCode,它的基本操作单位都是文件 ...
- VS Code + MinGW + Clang + OpenGL (vscode 配置 opengl环境)
vscode配置opengl环境会遇到一些问题,这里是在看了一些博文之后给出的一篇完整的可行的配置 首先,要配置C++环境,网上有很多完整的配置C++环境的教程,这里就引用一条 https://www ...
- VScode 配置 C++ 环境进行编译和调试
这里记录为 VScode 配置 C++ 环境的简单步骤,实践环境为 Ubuntu 18.04 ,VScode 1.27 .在 Ubuntu 环境下,系统默认安装 gcc 和 g++ 编译器,故而下列步 ...
- vscode 配置 c++ 环境
vscode 配置 c++ 环境 参考的这篇bloghttps://blog.csdn.net/bat67/article/details/81268581 1.安装编译器.这里安装 codebloc ...
- Win10下 VSCode配置LaTex环境
------------恢复内容开始------------ 环境:win10 软件:Tex Live, VSCode ,Sumatra Tex Live官网下载速度很慢,所以推荐使用清华镜像下载链接 ...
- [Go] vscode配置Go环境
首先要先把环境变量配置好,配置好环境变量打开go文件的时候,会自动提示需要安装的扩展在/root/.profile和/home/当前用户/.profile都加上 export GOPATH=/var/ ...
- VsCode配置go环境及插件安装
在vscode中安装go插件. 安装git. 在%GOPATH%\src\目录下,建立golang.org文件夹,并再新建x文件夹. 目录为 "%GOPATH\src\golang.org\ ...
- vscode配置python环境-运行调试-windows环境
官方文件介绍 https://code.visualstudio.com/docs/languages/python 准备: vscode下载安装 python3版本下载(安装时可以选择添加环境变量, ...
- VScode 配置c++环境
参考 https://code.visualstudio.com/docs/cpp/config-mingw https://zhuanlan.zhihu.com/p/77645306 主要 http ...
随机推荐
- 面试题四十三:在1~n整数中1出现的次数
方法一:直观来看,遍历1到n,每个数去做%10的循环判断 int Number1_B_1toN( int n){ int sum=0; for(int i=1;i<=n;i++){ int k= ...
- Python访问、修改、删除字典中的值
Python访问字典中的值: # 使用字典 ['键'] 获取字典中的元素 dic = {'a':123,'b':456,'c':789} print(dic['a']) # print(dic['c' ...
- SUM and COUNT -- SQLZOO
SUM and COUNT 注意:where语句中对表示条件的需要用单引号, 下面的译文使用的是有道翻译如有不正确,请直接投诉有道 01.Show the total population of th ...
- Upload 上传 el-upload 上传配置请求头为Content-Type: "multipart/form-data"
api接口处添加属性 (标红处) // 校验台账 export const checkEquiment = (data) => { return axios({ url: '/job/equip ...
- IntelliJ IDEA 控制台输出中文乱码
IntelliJ IDEA 控制台输出中文乱码部分如图所示: 解决方法一: 1.打开IntelliJ IDEA本地安装目录中bin文件夹下的idea.exe.vmoptions和idea64.exe. ...
- Javascript 创建对象的三种方式
function createPerson(name, qq) //工厂方式 { //在工厂里创建个对象 var obj=new Object(); obj.name=name; obj.qq=qq; ...
- ifstream
eof() 这个东西是返回文件是否达到尾部. 在读取错误的时候才会触发. 这点要小心,如果写在while(eof) 即使到了文件尾部, 但并没有读取错误,很有可能再次进入循环,然后出现读取错误 .ge ...
- 【oracle】-集合运算:UNION,UNION ALL...
在Oracle中提供了三种类型的集合操作: 并(UNION).交(INTERSECT).差(MINUS) UNION:求并,重复记录只显示一次. UNION ALL:求并集,显示所有记录信息. INT ...
- PHP7 生产环境队列 Beanstalkd 正确使用姿势
应用场景 为什么要用呢,有什么好处?这应该放在最开头说,一件东西你只有了解它是干什么的,适合干什么,才能更好的与自己的项目相结合,用到哪里学到哪里,学了不用等于不会,我们平时就应该多考虑一些这样的问题 ...
- MyBatisPlus分页查询,删除操作
分页查询 分页查询在网页使用十分之多 原始的limit进行分页 pageHelper第三方插件 3. MP内置的分页插件 导入配置 如何使用,官网的代码如下 //分页插件 @Bean public P ...