用了一段时间的cb,Devc++,但一直感觉cb的高亮太差,而Devc++使用体验差(尤其是代码补全功能),换过vs2017,但是由于其太大了,卡顿十分明显,所以最终选择了vscode这款轻量级编译器。由于自己在配置c++开发环境时遇到了不少问题,因此特地写了这篇博文,希望能够帮助后来者快速实现c++环境配置。
步骤一:下载vscode
直接进入vscode官网下载即可,要注意选择与自己系统符合的版本。
官网地址:https://code.visualstudio.com/?wt.mc_id=DX_841432
进入官网,会出现下面这个界面
下载完成后,按照默认安装即可
打开vscode
点击左侧栏第五个,在搜索框中输入"chinese",安装第一个插件(汉化),然后输入"c++",也安装第一个插件,然后重启,继续进行下一步操作。
步骤二:下载编译环境
在这里博主用的是TDM-GCC
大家可以百度官网下载或者下面的使用百度网盘链接下载
链接:https://pan.baidu.com/s/1Qex9pRxjXcqygActH3FOxg
提取码:ymcs
下载完成后按照默认安装即可,但要记住TDM-GCC的安装路径,在接下来要用到。
步骤三:配置环境变量
在TDM-GCC安装完成后,我们需要将它的路径加入到系统的环境变量里
操作如下:
1.打开系统的控制面板,然后在红圈里搜索“高级设置”。
2.点击高级系统设置
3.点击环境变量配置
4.在系统变量中点击“path",然后点击编辑,将上面的路径加入即可。
格式形如C:\TDM-GCC-64\bin。
步骤四:配置vscode里的环境
在vscode中打开文件夹->创建新的文件夹->选中,这样就直接加入到vscode中了;或者直接把一个文件拖入vscode中。接着,在这个文件下创建一个.vscode文件夹(注意名字一定是.vscode),这是必须的(一般来说,每个文件夹中都会有这么一个.vscode配置文件)。注意:将此文件夹放在常用文件夹顶层,就不需要重复配置了。在.vscode文件夹中,新建两个(只需两个)配置文件,即launch.json、tasks.json。将下列内容复制进去即可:
task.json
{ "version": "2.0.0", "command": "g++", "args": ["-g","${file}","-o","${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 } } }
launch.json:一定要注意
miDebuggerPath 这一条,要与你TDM-GCC安装路径一致,注意在路径中 '\'要替换为'\\',就像下面一样。
{ "version": "0.2.0", "configurations": [{ </span><span style="color: #800000;">"</span><span style="color: #800000;">name</span><span style="color: #800000;">"</span>: <span style="color: #800000;">"</span><span style="color: #800000;">(gdb) Launch</span><span style="color: #800000;">"</span>, <span style="color: #008000;">//</span><span style="color: #008000;"> 配置名称,将会在启动配置的下拉菜单中显示</span> <span style="color: #800000;">"</span><span style="color: #800000;">type</span><span style="color: #800000;">"</span>: <span style="color: #800000;">"</span><span style="color: #800000;">cppdbg</span><span style="color: #800000;">"</span>, <span style="color: #008000;">//</span><span style="color: #008000;"> 配置类型,这里只能为cppdbg</span> <span style="color: #800000;">"</span><span style="color: #800000;">request</span><span style="color: #800000;">"</span>: <span style="color: #800000;">"</span><span style="color: #800000;">launch</span><span style="color: #800000;">"</span>, <span style="color: #008000;">//</span><span style="color: #008000;"> 请求配置类型,可以为launch(启动)或attach(附加)</span> <span style="color: #800000;">"</span><span style="color: #800000;">program</span><span style="color: #800000;">"</span>: <span style="color: #800000;">"</span><span style="color: #800000;">${workspaceRoot}/${fileBasenameNoExtension}.exe</span><span style="color: #800000;">"</span>,<span style="color: #008000;">//</span><span style="color: #008000;"> 将要进行调试的程序的路径</span> <span style="color: #800000;">"</span><span style="color: #800000;">args</span><span style="color: #800000;">"</span>: [], <span style="color: #008000;">//</span><span style="color: #008000;"> 程序调试时传递给程序的命令行参数,一般设为空即可</span> <span style="color: #800000;">"</span><span style="color: #800000;">stopAtEntry</span><span style="color: #800000;">"</span>: <span style="color: #0000ff;">false</span>, <span style="color: #008000;">//</span><span style="color: #008000;"> 设为true时程序将暂停在程序入口处,一般设置为false</span> <span style="color: #800000;">"</span><span style="color: #800000;">cwd</span><span style="color: #800000;">"</span>: <span style="color: #800000;">"</span><span style="color: #800000;">${workspaceRoot}</span><span style="color: #800000;">"</span>,<span style="color: #008000;">//</span><span style="color: #008000;"> 调试程序时的工作目录,一般为${workspaceRoot}即代码所在目录</span> <span style="color: #800000;">"</span><span style="color: #800000;">environment</span><span style="color: #800000;">"</span><span style="color: #000000;">: [], </span><span style="color: #800000;">"</span><span style="color: #800000;">externalConsole</span><span style="color: #800000;">"</span>: <span style="color: #0000ff;">true</span>,<span style="color: #008000;">//</span><span style="color: #008000;"> 调试时是否显示控制台窗口,一般设置为true显示控制台</span> <span style="color: #800000;">"</span><span style="color: #800000;">MIMode</span><span style="color: #800000;">"</span>: <span style="color: #800000;">"</span><span style="color: #800000;">gdb</span><span style="color: #800000;">"</span><span style="color: #000000;">, </span><span style="color: #800000;">"</span><span style="color: #800000;">miDebuggerPath</span><span style="color: #800000;">"</span>: <span style="color: #800000;">"</span><span style="color: #800000;">C:\\TDM-GCC-64\\bin\\gdb64.exe</span><span style="color: #800000;">"</span>,<span style="color: #008000;">//</span><span style="color: #008000;"> miDebugger的路径,注意这里要与MinGw的路径对应</span> <span style="color: #800000;">"</span><span style="color: #800000;">preLaunchTask</span><span style="color: #800000;">"</span>: <span style="color: #800000;">"</span><span style="color: #800000;">g++</span><span style="color: #800000;">"</span>, <span style="color: #008000;">//</span><span style="color: #008000;"> 调试会话开始前执行的任务,一般为编译程序,c++为g++, c为gcc</span> <span style="color: #800000;">"</span><span style="color: #800000;">setupCommands</span><span style="color: #800000;">"</span><span style="color: #000000;">: [ { </span><span style="color: #800000;">"</span><span style="color: #800000;">description</span><span style="color: #800000;">"</span>: <span style="color: #800000;">"</span><span style="color: #800000;">Enable pretty-printing for gdb</span><span style="color: #800000;">"</span><span style="color: #000000;">, </span><span style="color: #800000;">"</span><span style="color: #800000;">text</span><span style="color: #800000;">"</span>: <span style="color: #800000;">"</span><span style="color: #800000;">-enable-pretty-printing</span><span style="color: #800000;">"</span><span style="color: #000000;">, </span><span style="color: #800000;">"</span><span style="color: #800000;">ignoreFailures</span><span style="color: #800000;">"</span>: <span style="color: #0000ff;">true</span><span style="color: #000000;"> } ] } ]