共用方式為


使用 GitHub Codespaces 建置和偵錯

重要

這是 Azure Sphere (舊版) 檔。 Azure Sphere(舊版)將於 2027 年 9 月 27 日淘汰,且使用者此時必須移轉至 Azure Sphere(整合式)。 使用位於 TOC 上方的版本選取器來檢視 Azure Sphere (整合式) 檔。

如果您有 GitHub 小組或 GitHub Enterprise Cloud 訂用帳戶,您可以使用 GitHub Codespaces 來設定專案,讓它建置在 GitHub 所裝載的容器內。 使用 Visual Studio Code 的遠端功能,您可以將桌面上的 Visual Studio Code 連線到 Codespace,並直接從 Codespace 編輯、建置、部署和偵錯。

本主題討論如何使用 GitHub Codespaces 從遠端編輯、建置、部署及偵錯您的 Azure Sphere 應用程式; 使用容器搭配 Visual Studio Code 建置和偵錯,說明如何使用 Visual Studio Code 在本機編輯、建置、部署和偵錯 Azure Sphere 應用程式。

若要使用 Codespaces,您的項目必須設定為 GitHub 存放庫,並設定為在容器中使用。 在本主題中,您將使用適當的設定建立新的 Blink 專案。

為您的專案建立 GitHub 存放庫

建立空的 GitHub 存放庫,如下所示:

  1. 登入 github.com

  2. 從 GitHub 首頁,選取 [存放庫] 一詞旁的 [新增] 按鈕。

  3. 為您的存放庫命名,例如 Blink,然後選取 [建立存放庫]。

  4. 在 [快速設定] 底下 ,如果您先前已完成這類工作,請複製存放庫的 HTTPS URL。

  5. 在命令提示字元中,將您的新存放庫複製到本機桌面,如下所示:

    git clone <repository-url>
    

    您應該會看到已複製空白存放庫的警告。

開啟 Visual Studio Code 並建立新的專案,如下所示:

  1. 選取 [檢視>命令選擇區>Azure Sphere:產生新專案]。
  2. 在 [選取範本] 底下,選取 [閃爍]。
  3. 在 [ 選取資料夾] 對話框中,指定要在其中建立新項目的資料夾。 (這可以是任何地方,您將將此資料夾的內容複製到先前建立的 GitHub 存放庫。
  4. 指定符合 GitHub 存放庫名稱的項目名稱,例如 Blink,然後按 Enter 鍵。
  5. 將 Azure Sphere 項目檔(包括 .vscode 和 HardwareDefinitions 等所有子資料夾)複製到本機複製、認可和推送變更。 然後,您可以刪除本節中建立的專案資料夾,因為所有項目都會位於 GitHub 存放庫中。

設定 .devcontainer 資料夾

在 GitHub 存放庫的最上層目錄中,建立名為 .devcontainer 的資料夾。 在此資料夾中,使用下列內容建立名為 devcontainer.json 的檔案:

{
    "name": "Azure Sphere Blink",
    "runArgs": [ "--cap-add=SYS_PTRACE", "--security-opt", "seccomp=unconfined"],
    "build": {
        "dockerfile": "Dockerfile",
        "target": "dev"
    },

    // Use 'settings' to set *default* container specific settings.json values on container create.
    // You can edit these settings after create using File > Preferences > Settings > Remote.
    "settings": {
        "terminal.integrated.shell.linux": "/bin/bash"
    },

    // Use 'appPort' to create a container with published ports. If the port isn't working, be sure
    // your server accepts connections from all interfaces (0.0.0.0 or '*'), not just localhost.
    // "appPort": [],

    // Uncomment the next line to run commands after the container is created.
    // "postCreateCommand": "gcc -v",

    // Comment out the next line if you want to run as root instead
    "remoteUser": "vscode",

    // Add the IDs of extensions you want installed when the container is created in the array below.
    "extensions": [
        "ms-vscode.azure-sphere-tools",
        "ms-vscode.azure-sphere-tools-ui"
    ]
}

接下來,在 .devcontainer 資料夾中建立名為 Dockerfile 的檔案,其中包含下列內容:

FROM mcr.microsoft.com/azurespheresdk:latest AS dev

FROM dev AS build
COPY ./ /src/
WORKDIR /out
RUN cmake -G "Ninja" -DCMAKE_TOOLCHAIN_FILE="/opt/azurespheresdk/CMakeFiles/AzureSphereToolchain.cmake" \
    -DAZURE_SPHERE_TARGET_API_SET="latest-lts" -DCMAKE_BUILD_TYPE="Release" "/src"
ENTRYPOINT [ "ninja" ]

初始 FROM 行會將標準 Azure Sphere Docker 映射指定為基底開發容器,而第二個表示使用該基底容器作為建置環境。 此 COPY 行會將存放庫的內容複製到容器的 /src/ 目錄中。 WORKDIR指定組建目錄。 此命令 RUN 會提供 CMake 命令來產生組建檔案。 最後, ENTRYPOINT 指定應該叫用忍者來實際建置應用程式。

認可對 GitHub 項目的變更,並推送變更。

安裝 GitHub Codespaces 擴充功能

若要安裝 GitHub Codespaces 擴充功能:

  1. 如果尚未開啟 Visual Studio Code 中的 GitHub 存放庫資料夾,
  2. 從 Visual Studio Code 活動列開啟 延伸模組
  3. 搜尋 「GitHub Codespaces」,並安裝 GitHub Codespaces 擴充功能。

建立 Codespace

  1. 選取 [檢視>命令選擇區>代碼空間:建立新的 Codespace]。

  2. 從存放庫的下拉式清單中,選取 [Blink]。 如果您的存放庫未出現在下拉式清單中,您可以在清單上方的文字框中輸入其名稱。

  3. 從分支的下拉式清單中,選取適當的分支。

    Visual Studio Code 中的標題欄會變更,以顯示您在 Codespaces 中編輯。 如果您在左側導覽列中開啟 [延伸模組] 索引標籤,您會看到本機安裝的延伸模組,以及安裝在遠端容器中的延伸模組。

建置和偵錯專案

F5,或選取 [執行>開始偵錯],以建置專案並開始偵錯。 您的應用程式會像往常一樣建置並側載到您的裝置。 如果您已在程式代碼中設定斷點,應用程式會執行直到到達斷點為止。 您可以使用一般偵錯命令來逐步解說程式代碼。 如需詳細資訊,請參閱 Visual Studio Code 檔中的偵錯主題。

當您完成偵錯時,請按 Shift+F5[停止] 圖示。 若要關閉程式代碼空間,請選取 [檢視>命令選擇區>Codespace:停止目前的Codespace]。