使用vscode MSVC CMake进行C++开发和Debug
使用vscode MSVC CMake进行C++开发和Debug
- 前言
- 软件安装
- 安装插件
- 构建
- debuug方案一
- debug方案二
- 其他
前言
一般情况下我都是使用visual studio来进行c++开发的,但是由于python用的是vscode,所以二者如果统一的话能稍微提高一点效率。
软件安装
需要安装的软件如下:
软件 | 说明 |
---|---|
vscode | 必须 |
CMake | 必须 |
Microsoft Visual Studio | Visual Studio带编译器,因此也必须下载,如果下载这个就要安装别的编译器 |
vcpkg | 包管理器,非必须 |
安装插件
首先需要安装vscode的插件,如图所示其中C/C++ Extension Pack包含了C/C++,C/C++ Themes和Cmake Tools。
构建
在写好.cpp文件和CMakeLists.txt后,配置好CMakePresets.json文件和CMakeUserPresets.json,可以在vscode中用快捷键ctrl+shift+p
。然后输入cmake,在弹窗中先选择Select Configure Preset,选择在CMakeUserPresets.json设定好的预设,然后再选择Configure,就开始CMake的构建阶段。
若不清楚CMakeLists.txt,CMakePresets.json文件和CMakeUserPresets.json文件如何写以及如何设置,建议先根据教程学习CMake,等熟悉CMake后再查阅本教程。
debuug方案一
当安装了CMake Tools这个插件后,vscode左侧边栏会有显示,如下图所示
其中直接点debug,代码可以进入debug模式进行debug;而点击launch,代码就是直接运行不debug。
这种方法很方便,但是有一个缺陷,就是如果有在控制台打印内容的代码,这种方法在debug的时候无法在控制台中打印。
debug方案二
方案二稍微麻烦一点,但是能看到在控制台中打印的内容。
在根目录下创建.vscode文件夹,然后在.vscode文件夹中创建launch.json文件,文件中的内容参考CMake Tools教程中,当使用MSVC的时候拷贝如下内容:
{"version": "0.2.0","configurations": [{"name": "(msvc) Launch","type": "cppvsdbg","request": "launch",// Resolved by CMake Tools:"program": "${command:cmake.launchTargetPath}","args": [],"stopAtEntry": false,"cwd": "${workspaceFolder}","environment": [{// add the directory where our target was built to the PATHs// it gets resolved by CMake Tools:"name": "PATH","value": "${env:PATH}:${command:cmake.getLaunchTargetDirectory}"},{"name": "OTHER_VALUE","value": "Something something"}],"externalConsole": true}]
}
然后点击右上角的小三角形
点击debug或者run都可以,然后再下一级界面中选择(msvc Launch),两个任选其一即可,这两个都代表刚刚在launch.json文件中设置的内容,至于为什么有两个我也不清楚,按理来说应该只有一个的。
然后即可进行debug或者run。
其他
在其他一些教程中,例如教程1,教程2中,都说要配置环境变量,其实他们说要配置环境变量其实是对应的上图中第一列C/C++: cl.exe build and debug active file这种debug方法。而我的方法是借用了CMake Tools这个插件,因此经过实测并不需要配置环境变量。