使用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(默認快捷鍵shift+F5
),代碼可以進入debug模式進行debug;而點擊launch,代碼就是直接運行不debug。
這種方法很方便,不需要自行配置launch.json文件,但是有一個缺陷,就是如果有在控制臺打印內容的代碼,這種方法在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}]
}
然后點擊右上角的小三角形(也可以默認快捷鍵F5
)
點擊debug或者run都可以,然后再下一級界面中選擇(msvc Launch),兩個任選其一即可,這兩個都代表剛剛在launch.json文件中設置的內容,至于為什么有兩個我也不清楚,按理來說應該只有一個的。
然后即可進行debug或者run。
其他
在其他一些教程中,例如教程1,教程2中,都說要配置環境變量,其實他們說要配置環境變量其實是對應的上圖中第一列C/C++: cl.exe build and debug active file這種debug方法。而我的方法是借用了CMake Tools這個插件,因此經過實測并不需要配置環境變量。