Linux(docker)下使用VSCode運行C++專案
前言
在網上找過一些使用VSCode運行C++專案的文章,發現大多數文章起手就是launch.json
,settings.json
和tasks.json
。但如果只想編譯現成的C++專案,可以不用這麼複雜,基本上按照官方教學來做即可。
運行C++專案
想用VSCode運行C++專案,建議看看官方教學Get started with CMake Tools on Linux,文章中沒有太多廢話,很容易找到重點。如果已經有現成的C++專案,可以跳過文章中Create a CMake project這一步驟。
以下是官方教學的摘要:
在Prerequisites都做完的前提下,對於一個新的C++專案,通常需要以下四個步驟:
-
Ctrl+Shift+P
然後輸入CMake: Select Variant,選擇Debug或Release -
Ctrl+Shift+P
然後輸入CMake: Configure(這一步驟可以跳過)
- 編譯:
Ctrl+Shift+P
然後輸入CMake: Build - 運行:
Ctrl+Shift+P
然後輸入CMake: Debug,然後按F5
進入偵錯模式。或者是按Ctrl+F5
直接運行
設定編譯的線程數
在一般情況下,VSCode編譯C++項目時會自行決定要用多少線程。筆者第一次使用VSCode編譯PCL時,VSCode使用了6個線程,編譯到約30~40%時電腦突然無法操作,最後是強制重開機解決。
為了避免上述情況,在編譯大型項目時,可以手動將線程數設為1。
首先開啟VSCode的設定頁面:File > Preferences > Settings,或是按快速鍵Ctrl+,
。
在搜索欄輸入parallel,修改Cmake: Parallel Jobs裡的數值,原來是0,表示要用多少線程編譯由VSCode自行決定。此處將它改成1避免編譯大型項目時電腦卡住。
本處內容參考Remove -j 4 when building with Visual Studio Code’s CMake Tools extension和Don’t specify number of jobs when building with Ninja。
與現存的docker container連線
參考Attach to a running container,
按F1
,在搜索欄輸入Remote-Containers: Attach to Running Container
:
然後從列表中選擇docker container:
按Enter
之後會跳出另一個VSCode視窗,視窗的左下角會顯示docker image的名稱: