VS Code在C/C++调试上的配置

实际上目前确实在用VS Code上比较多,毕竟VS实在是太大,有时候敲一小段代码完全用不上这个,而VS Code因为在美观度和插件丰富度上比较高,之前用MinGW的编译调试环境搭了个C/C++的环境,这两天用的时候却发现自己之前没配好调试环境……那就记录一下吧。

安装VS Code、安装C、C++插件、安装MinGW并配置路径……(略)

安装VS Code,装插件极为无脑,不难(毕竟只要打开一个.cpp文件必然会推荐安装插件……)安装MinGW也是不难,只要记得把三件套gcc、g++、gdb在管理里下载安装好就行。唯一难得一点就是记得在Path环境变量里把MinGW的bin路径加上,只要能在命令行里能全局识别出来三件套的命令即可。

配置调试环境

经过上面一通操作后,其实已经可以运行C/C++代码了,只是按F5调试会发现蹦出一堆选项,但是自己点了也没什么反应……

首先是要说明VSC的调试是要在文件夹里进行的,单个的c或cpp文件是没法调试的,请务必当成个小项目,给它套个文件夹。注意整个路径里不能有中文(气抖冷,中文何时才能站起来😂),不然调试是会报找不到文件路径的错误。

image-20200531162626870

如上图所示,先敲好程序,点击那个感觉就很有debug味道的运行图标,然后点击创建launch.json文件,相继就是会弹出一堆调试选项,当然先选GNU再根据调试文件类型选择是要用gcc还是g++,之后会自动跳转到项目文件夹新生成的.vscode文件夹里的launch.json中。

主要注意的是以下几个点:

  1. externalConsole项记得把false改成true,只有这样才能在命令行里输入,内置控制台没办法输入数据。

  2. launch.json修改完按F5,会出现以下图片:image-20200531165836228点击配置任务选择相应的任务类型(gcc还是g++),又会在.vscode里生成tasks.json,这个时候,点F5依旧显示上图的找不到服务。对tasks.json修改,令label和launch.json里的preLaunchTask内容一摸一样即可(为什么不直接生成相同的名字,理解不能)。至此所有的配置就完成了。

  3. 按F5运行VSC调试必须打断点,不打断点相当于程序只会在有输入等操作或者系统pause命令处才会停下来,基本上就是命令行一闪而过,自己一开始也不懂,以为是没配好……

  4. 一个.vscode文件夹只能配置当前父文件夹内的所有代码,图省事可以把这个文件夹直接在常用的文件夹中加到最上层,就可以让当前文件夹下的所有项目文件夹享受到调试配置效果了(我是没找见有什么可以全局配置的方法……)。

image-20200531171309707