Sdílet prostřednictvím


Použití kontejnerů k sestavení a ladění pomocí editoru Visual Studio Code

Důležité

Toto je dokumentace k Azure Sphere (starší verze). Azure Sphere (starší verze) se vyřazuje 27. září 2027 a uživatelé musí do této doby migrovat do Azure Sphere (integrované). K zobrazení dokumentace k Azure Sphere (integrované) použijte selektor verzí umístěný nad obsahem.

Pokud pro vývoj aplikací používáte Visual Studio Code, můžete projekt nastavit tak, aby se sestavil uvnitř kontejneru. Pak můžete sestavit a ladit přímo v kontejneru. V tomto tématu se předpokládá, že jste vytvořili projekt pomocí editoru Visual Studio Code, aby adresář .vscode existoval a měl dva soubory launch.json a settings.json.

Toto téma popisuje použití kontejnerů místně; Použití GitHub Codespaces k sestavení a ladění popisuje použití GitHub Codespaces k úpravám, sestavování, nasazování a ladění aplikací Azure Sphere.

Nastavení složky .devcontainer

V adresáři nejvyšší úrovně projektu vytvořte složku s názvem .devcontainer. V této složce vytvořte soubor s názvem devcontainer.json s následujícím obsahem:

{
    "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"
    ]
}

Dále ve složce .devcontainer vytvořte soubor s názvem Dockerfile s následujícím obsahem:

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" ]

Počáteční FROM řádek určuje standardní image Dockeru Azure Sphere jako základní vývojový kontejner a druhá říká, že se má tento základní kontejner použít jako prostředí sestavení. Řádek COPY zkopíruje obsah úložiště do adresáře /src/ kontejneru. Určuje WORKDIR adresář sestavení. Příkaz RUN poskytuje příkaz CMake pro vygenerování souborů sestavení. Nakonec určí, ENTRYPOINT že nindžové by měli být vyvolána k skutečnému sestavení aplikace.

Sestavení a ladění projektu

Otevřete složku projektu v editoru Visual Studio Code. Visual Studio Code rozpozná nové soubory a otevře okno se zprávou s informací, že složka obsahuje konfigurační soubor vývojového kontejneru. Znovu otevřete složku pro vývoj v kontejneru." Výběrem tlačítka Znovu otevřít v kontejneru znovu otevřete složku v kontejneru vytvořeném souborem .devcontainer/Dockerfile. Záhlaví editoru Visual Studio Code se změní, aby se zobrazilo, že upravujete v kontejneru. Pokud otevřete kartu Rozšíření v levém navigačním panelu, uvidíte v kontejneru nainstalovaná obě rozšíření místně i rozšíření nainstalovaná.

Stisknutím klávesy F5 sestavte projekt a začněte ladit. Aplikace se sestaví a načte do zařízení jako obvykle. Pokud jste v kódu nastavili zarážku, aplikace se spustí, dokud nedosáhnete zarážky. K procházení kódu můžete použít obvyklé ladicí příkazy. Další podrobnosti najdete v tématu Ladění v dokumentaci editoru Visual Studio Code.

Po dokončení ladění stiskněte Shift+F5 nebo ikonu Zastavit. Pokud chcete kontejner zavřít, použijte příkaz Zavřít vzdálené připojení z nabídky Vzdálená nabídka na panelu nástrojů editoru Visual Studio Code.