基于 VSCode 的 C/C++ 开发调试
前言
VSC 相比 Clion/Visual Studio 来说仅仅是个简单的代码编辑器,默认并不具备 C/C++ 代码的编译/调试等功能。但如果你想要在 VSC 上实现这样的功能的话,你可以参考如下内容进行。
安装 Windows 平台下 C/C++ 编译器
一般的 Linux 平台上都会默认安装 gcc 或 clang 作为编译器,如果没有请自行搜索并安装。
而 Winlibs 则是可以作为 Windows 上最适合快速部署的编译环境。
它集合了 GCC/Clang 两大编译器,并且整合了 MinGW-w64、LLVM、GDB与LLDB。仅一次安装就可以部署好用于 C/C++ 编译的大部分软件与环境。
部署
在上面的官网下载压缩包,解压后设置系统 PATH 路径至解压后目录的 /bin
下。
检查
打开 cmd / PowerShell 输入以下命令测试:
若正常输出 gcc 与 clang 的版本信息即为安装成功。
配置 Visual Studio Code 开发环境
在常见的开发印象中,“编译”就应该是有一个对应的按钮🔘来解决的事情。不过在 VSC 中要想实现这一点得提前做点配置。
设置 tasks.json
task 相当于 VS Code 里面的任务。按下按键所对应的任务便会执行。但在使用这一点来实现一键编译你的程序之前,你需要手动对 tasks.json
进行配置。
实操
用 VSC 打开一个你准备好的空目录,新建一个 .vscode/
目录,在其中新建一个 tasks.json
文件。将以下内容复制进去:
请注意,这个 task.json 是在Windows环境下编译所配置的。如果用于其他平台请务必做出必要修改。
完成后在转到代码编辑页面,按下键盘上的 ctrl + shift + B 指定运行默认任务。效果如下图:
有额外的几点要注意,
- 如果你没有使用 Winlibs 那么你可能需要手动指定编译器的绝对路径。
${fileBasenameNoExtension}
属于 VSC 中内置的几个变量之一,你可以在这里找到剩下的变量。
设置一键调试
安装配套 VSC 插件
首先在 VSC 侧栏里面找到插件页面并安装如图所示的插件,并等待 LLVM 附加包的安装。
配置 launch.json
同样地,你需要设置 launch.json
来实现传统调试功能。
在与 tasks.json
同样的目录下新添加一个 launcher.json
文件,并填入以下内容:
配置完后,先编译一次,然后在代码页面按下 F5 开始程序调试。
如果调试没有如想象中一样停止等待操作,可以检查 tasks.json
中 -g 的 flag 有没有被添加或者尝试在编辑器左侧给程序打上断点。
后话
如果你使用 WinLibs 进行开发,那么我还推荐几个 VSC 插件。
- clangd,配合安装的 clang 前端实时进行静态语法分析与提供编辑时提示。