🚀 在 VS Code 中

在 Linux 上開始使用 CMake Tools

CMake 是一個開放原始碼、跨平台的工具,它使用獨立於編譯器和平台的組態檔,來產生特定於您的編譯器和平台的原生建置工具檔案。

CMake Tools 擴充功能整合了 Visual Studio Code 和 CMake,讓您能夠輕鬆設定、建置和偵錯 C++ 專案。

在本教學課程中,您將使用 Visual Studio Code 的 CMake Tools 擴充功能,在 Linux 上設定、建置和偵錯簡單的 C++ CMake 專案。除了安裝 CMake、您的編譯器、偵錯工具和建置工具之外,本教學課程中的步驟大致適用於您在其他平台(例如 Windows)上使用 CMake 的方式。

如果您有任何問題,請在 VS Code 文件存放庫中針對本教學課程提交問題。此外,如需有關 CMake Tools 的一般資訊,請參閱 Visual Studio Code 的 CMake Tools 文件

先決條件

若要在 Ubuntu 上完成本教學課程,請安裝下列項目

  1. Visual Studio Code.

  2. VS Code 的 C++ 擴充功能。透過在擴充功能檢視中搜尋 'c++' 來安裝 C/C++ 擴充功能 (⇧⌘X (Windows、Linux Ctrl+Shift+X))。

    C/C++ extension

  3. VS Code 的 CMake Tools 擴充功能。透過在擴充功能檢視中搜尋 'CMake tools' 來安裝 CMake Tools 擴充功能 (⇧⌘X (Windows、Linux Ctrl+Shift+X))。

    CMake tools extension

  4. 您也需要安裝 CMake、編譯器、偵錯工具和建置工具。

影片:什麼是建置系統?如何將 CMake 新增至您的專案?

觀看此影片以瞭解何時建置系統會對您有所幫助,以及如何為您的專案設定 CMake,或依照下列章節中的步驟進行。

確認已安裝 CMake

VS Code CMake Tools 擴充功能透過使用系統上安裝的 CMake 來運作。為了獲得最佳結果,請使用 CMake 3.27 或更新版本。

查看您的系統是否已安裝 CMake。開啟終端機視窗並輸入下列命令

cmake --version

若要安裝 CMake,或如果您沒有至少 3.27 版想要取得更新版本,請參閱 Kitware APT 存放庫中適用於您平台的指示。安裝 3.27 或更新版本。

確認已安裝開發工具

雖然您將使用 VS Code 來編輯原始程式碼,但您將使用系統上安裝的編譯器、偵錯工具和建置工具 (例如 make) 來編譯和偵錯原始程式碼。

在本 Ubuntu 教學課程中,我們將使用 GCC 編譯器、GDB 進行偵錯,以及 make 來建置專案。這些工具預設不會安裝在 Ubuntu 上,因此您需要安裝它們。幸運的是,這很容易。

檢查是否已安裝 GCC

若要查看您的系統是否已安裝 GCC,請開啟終端機視窗並輸入下列命令

gcc -v

如果未安裝 GCC,請從終端機視窗執行下列命令來更新 Ubuntu 套件清單。過時的 Linux 發行版本可能會干擾取得最新的套件。

sudo apt-get update

接下來,使用下列命令安裝 GNU 編譯器、make 和 GDB 偵錯工具

sudo apt-get install build-essential gdb

建立 CMake 專案

如果您沒有現有的 CMake 專案,請依照建立 CMake 專案中的步驟進行。

如果您已經有現有的 CMake 專案,且根目錄中有 CMakeLists.txt 檔案,請繼續設定 Hello World以設定您的專案。

設定 Hello World

在您可以使用 CMake Tools 擴充功能來建置專案之前,您需要設定它以瞭解系統上的編譯器。在 VS Code 中設定 CMake 有兩種方式

  • 使用 CMake 預設集 (建議)
  • 使用 CMake 套件/變體

使用 CMake 預設集進行設定

我們建議使用 CMake 預設集來管理您的 CMake 組態。CMake 預設集可讓您指定常見的 JSON 檔案,您可以在其中儲存專案的所有組態。然後,您可以跨不同的 IDE 和不同的作業系統與其他人共用此檔案。

如果您依照建立 CMake 專案中的步驟建立專案,則您的專案已設定為使用 CMake 預設集。

如果您的專案有 CMakePresets.json 檔案,您可以使用「設定」和「建置」預設集來指定如何在您的機器上建置專案。

您可以在 CMake Tools 檢視的「專案狀態」中的設定建置節點下,檢視預設集的活動組態。您可以隨時選取這些節點來設定或變更您的「設定」和「建置」預設集。

CMake Side Panel with presets

您也可以透過在命令面板 (⇧⌘P (Windows、Linux Ctrl+Shift+P)) 中執行 CMake: 選取設定預設集CMake: 選取建置預設集命令來設定任何預設集。

CMake Select presets

使用 CMake 套件進行設定

如果您的專案沒有 CMakePresets.json 檔案,則需要使用套件。套件代表工具鏈,也就是用來建置專案的編譯器、連結器和其他工具。

掃描套件

  1. 開啟命令面板 (⇧⌘P (Windows、Linux Ctrl+Shift+P)) 並執行 CMake: 選取套件。擴充功能會自動掃描您電腦上的套件,並建立系統上找到的編譯器清單。

  2. 選取您想要使用的編譯器。例如,根據您安裝的編譯器,您可能會看到類似這樣的內容

    Select the kit

    您先前選取的套件現在會顯示在 CMake Tools 檢視的專案狀態區段中。

    Selected kit in Sidebar

若要變更套件,您可以選取 CMake Tools 檢視的專案狀態區段中的套件,或再次從命令面板執行 CMake: 選取套件命令。如果您沒有看到您要尋找的編譯器,您可以編輯專案中的 cmake-tools-kits.json 檔案。若要編輯檔案,請開啟命令面板 (⇧⌘P (Windows、Linux Ctrl+Shift+P)) 並執行 CMake: 編輯使用者本機 CMake 套件命令。

然後,您需要選取變體。

變體包含有關如何建置專案的指示。依預設,CMake Tools 擴充功能提供四種變體,每種變體都對應於預設的建置類型:DebugReleaseMinRelSizeRelWithDebInfo。這些選項執行下列動作

Debug:停用最佳化並包含偵錯資訊。Release:包含最佳化但不包含偵錯資訊。MinRelSize:針對大小進行最佳化。不包含偵錯資訊。RelWithDebInfo:針對速度進行最佳化並包含偵錯資訊。

若要選取變體,請開啟命令面板 (⇧⌘P (Windows、Linux Ctrl+Shift+P)) 執行 CMake: 選取變體命令。

Select variant

選取Debug以在您的建置中包含偵錯資訊。

Select debug variant type

選取的變體將會出現在狀態列中,位於活動套件旁邊。

CMake:設定

現在您已透過預設集或套件/變體選取了組態設定,請開啟命令面板 (⇧⌘P (Windows、Linux Ctrl+Shift+P)) 並執行 CMake: 設定命令來設定您的專案。這會使用您選取的組態在專案的建置資料夾中產生建置檔案。

建置 Hello World

設定專案後,您就可以開始建置了。開啟命令面板 (⇧⌘P (Windows、Linux Ctrl+Shift+P)) 並執行 CMake: 建置命令,或從狀態列選取建置按鈕。

Build

您可以透過從命令面板選取 CMake: 設定建置目標來選取您想要建置的目標。依預設,CMake Tools 會建置所有目標。選取的目標將會出現在 CMake Tools 側邊欄的專案狀態檢視中的建置節點下方,也可以從該處進行設定。

Build Target

偵錯 Hello World

若要執行和偵錯您的專案,請開啟 main.cpp 並在 std::cout 行上放置中斷點。然後開啟命令面板 (⇧⌘P (Windows、Linux Ctrl+Shift+P)) 並執行 CMake: 偵錯。偵錯工具將會在 std::cout 行上停止

Debug

繼續並按下 F5 以繼續。

您現在已使用 VS Code CMake Tools 擴充功能來使用 CMake 在 Ubuntu 上建置和偵錯 C++ 應用程式。其他平台的步驟相同;不同之處在於您如何為您選擇的平台安裝 CMake 和編譯器/偵錯工具。如需設定其他平台的編譯器/偵錯工具的指示,請參閱下列內容

後續步驟