使用容器搭配Visual Studio Code 建置和偵錯
重要
這是 Azure Sphere (舊版) 檔。 Azure Sphere(舊版)將於 2027 年 9 月 27 日淘汰,且使用者此時必須移轉至 Azure Sphere(整合式)。 使用位於 TOC 上方的版本選取器來檢視 Azure Sphere (整合式) 檔。
如果您使用 Visual Studio Code 進行應用程式開發,您可以設定專案,讓它建置在容器內。 然後,您可以直接在容器中建置和偵錯。 本主題假設您已使用 Visual Studio Code 建立專案,讓 .vscode 目錄存在,而且有兩個檔案launch.json和settings.json。
本主題討論在本機使用容器; 使用 GitHub Codespaces 進行建置和偵 錯,說明如何使用 GitHub Codespaces 來編輯、建置、部署和偵錯您的 Azure Sphere 應用程式。
設定 .devcontainer 資料夾
在您的專案最上層目錄中,建立名為 .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.cpptools",
"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
指定應該叫用忍者來實際建置應用程式。
建置和偵錯專案
在 Visual Studio Code 中開啟 專案資料夾。 Visual Studio Code 會偵測新的檔案,並開啟消息框,指出「資料夾包含開發容器組態檔。 重新開啟資料夾以在容器中開發。」選取 [在容器中重新開啟] 按鈕,以重新開啟 .devcontainer/Dockerfile 檔案所建立容器中的資料夾。 Visual Studio Code 中的標題列會變更,以顯示您要在容器中編輯。 如果您在左側導覽列中開啟 [延伸模組] 索引標籤,您會看到本機安裝的延伸模組,以及安裝在容器中的延伸模組。
按 F5 建置項目並開始偵錯。 您的應用程式會像往常一樣建置並側載到您的裝置。 如果您已在程式代碼中設定斷點,應用程式會執行直到到達斷點為止。 您可以使用一般偵錯命令來逐步解說程式代碼。 如需詳細資訊,請參閱 Visual Studio Code 檔中的偵錯主題。
當您完成偵錯時,請按 Shift+F5 或 [停止] 圖示。 若要關閉容器,請使用 Visual Studio Code 工具列上 [遠端] 選單上的 [關閉遠端連線] 命令。