为什么会选择vscode
其实一直想用一下强大的vscode,最近正好想用C++刷题,于是想在vscode上配置一下C++的编译环境,用舒服的编辑器刷题应该会效率max也会坚持吧。但是其实网上写的博客看了很多都是小白看一篇就够了,但其实每篇都感觉写的很模糊,我综合了很多篇其实只是解决了最简单的问题,走了很多弯路,浪费了好多时间,感觉真的作为小白,遇到的问题其实都不会那么复杂。
首先明确你的目的
其实目的很简单,说白了就是vscode上可以跑C++的代码,能编译,能不报错,能运行就完事,更直观的可以理解为把你用的老旧DevC++替换为vscode的舒适手感。那么我们需要的东西也就很直白的拆分成这几部分一个一个处理就可以了。注意vscode只是一个代码编辑器,所以
1.要使vscode可以编译C++代码:需要安装编译器
2.要使vscode可以按照dev一键运行:需要在vscode里安装插件
3.要使vscode可以和dev一样调试程序:需要添加两个json文件
4.要使vscode可以编译头文件库不报错:添加.h文件库的位置
其实就这么简单的四点,很多写的非常复杂其实就是解决最简单的问题,个人很反感效率低下的炫技方式,浪费自己时间也浪费别人时间。
开始具体解决
第一步解决编译器问题
首先官网安装vscode大家都会,注意一点就是安装任务那里最好全选,之后选择一个编译器下载,这里其实有MinGW、MinGW-w64 与TDM-GCC,第一个目前不怎么用,建议用第二个和第三个,我选择的是第三个,因为其实会有很多人有网盘分享,而MinGW-64离线下载很慢。
下载好编译器之后把bin文件的路径添加的系统变量的PATH中
配置好之后 win+r,输入cmd,输入gcc -v,出现下图证明成功。
第一步编译器选择好,通关!
第二步vscode安装插件
现在你下载了vscode,可以理解为它是空的,你想用什么功能就去下载,苹果用户理解为app store,安卓用户理解为应用商店,你下qq怎么下vscode就怎么下。
第五个,输入你想下的插件,这里要安装C/C++,Code Runner就可以类似dev里的一键运行,下载完记得重新启动一下。
文件>首选项>设置>用户>拓展>Run Code Configuration
找到Run In Terminal,就可以在运行时不出现黑色的框。
第二步插件已经装好,通关!
第三步调试程序,配置两个json文件
注意:在电脑上你习惯的位置新建一个文件夹,用于存放编写的代码,接下来配置好的调试环境,仅会对存放在这一个文件夹以及文件夹的子目录里程序生效!
如上是我在电脑里创建的一个用于存放以后的cpp文件的文件夹。
之后在文件夹下新建.vscode文件夹并新建两个json文件分别叫做launch.json和tasks.json
复制下面的代码
launch.json
需要修改一处:"configurations"中"miDebuggerPath"选项需要设置为你的调试程序gdb.exe所在位置的绝对路径,无论安装的是mingw还是mingw-w64,都会有一个gdb.exe在安装目录的bin文件夹下,一定要把对应的路径修正否则无法调试
如我的电脑上
{
"version": "0.2.0",
"configurations": [
{
"name": "C/C++",
"type": "cppdbg",
"request": "launch",
"program": "${fileDirname}/${fileBasenameNoExtension}.exe",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": false,
"MIMode": "gdb",
"miDebuggerPath": "E:/TDM_GCC/TDM-GCC-64/TDM-GCC-64/bin/gdb64.exe",
"preLaunchTask": "compile",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
],
},
]
}
tasks.json
如果需要是c语言也就是gcc将下面的command项由g++改为gcc
{
"version": "2.0.0",
"tasks": [{
"label": "compile",
"command": "g++",
"args":[
"-g" ,"${fileBasename}",
"-fexec-charset=GBK", //Console窗体输出字符编码 保证能正常显示中文
"-finput-charset=UTF-8",
"-std=c++17",
"-static-libgcc",
"-fexec-charset=GBK"
],
"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
}
}
]
}
第三步配置调试文件,通关!
第四步头文件怎么办
现在我们已经配置好我们的 vscode的一大半了,但是,当打代码的时候会发现
这是什么意思,不会配置了半天vscode只是一个空壳子吧,库函数都没有,其实这个问题也是牵绊我时间最长的问题,很多博客其实都没有写的很清楚,但其实这里却是很多人遇到的问题。
首先解答一下为什么,vscode找不到头文件的问题是由于windows下vscode默认的编译器是微软的MSVC(vs使用的编译器)的头文件路径,如果你没有安装vs肯定会因为找不到头文件而报错。所以我们要手动修改配置。
ctrl + shift + p , “C/Cpp: Edit configurations” ,生成c_cpp_properties.json 文件
在这个文件里需要修改几处,如下图修改includepath和compiler path
还有其他想添加的库,都可以用这样的方式进行添加,vscode非常灵活,轻量化的设计让人很是满足!
上面的配置完成之后,再回到你创建的.cpp文件,你会发现不会报错了,有没有一种拼积木就差最后一块的感觉。
ok,第四步头文件的配置,通关!
问题,如果遇到,可以设置为自动保存,别手动保存,容易忘记
其实真的使非常简单的过程,把自己的经验分享给各位。
enjoy your coding time!