Använda GitHub Codespaces för att skapa och felsöka
Viktigt!
Det här är dokumentationen om Azure Sphere (Legacy). Azure Sphere (Legacy) upphör den 27 september 2027 och användarna måste migrera till Azure Sphere (integrerad) vid den här tiden. Använd versionsväljaren ovanför TOC för att visa dokumentationen om Azure Sphere (integrerad).
Om du har en GitHub Team- eller GitHub Enterprise Cloud-prenumeration kan du använda GitHub Codespaces för att konfigurera projektet så att det skapas i en container som hanteras av GitHub. Med hjälp av Remote-funktionen i Visual Studio Code kan du ansluta Visual Studio Code på skrivbordet till Codespace och redigera, skapa, distribuera och felsöka direkt från Codespace.
Det här avsnittet beskriver hur du använder GitHub Codespaces för att redigera, skapa, distribuera och felsöka dina Azure Sphere-appar via fjärranslutning. Använd containrar för att skapa och felsöka med Visual Studio Code beskriver användningen av Visual Studio Code för att redigera, skapa, distribuera och felsöka dina Azure Sphere-appar i en container lokalt.
Om du vill använda Codespaces måste projektet konfigureras som en GitHub-lagringsplats och även konfigureras för användning i en container. I det här avsnittet skapar du ett nytt Blink-projekt med rätt konfiguration.
Skapa en GitHub-lagringsplats för projektet
Skapa en tom GitHub-lagringsplats på följande sätt:
På GitHub-startsidan väljer du knappen Nytt bredvid ordet Lagringsplatser.
Ge lagringsplatsen ett namn, till exempel Blink, och välj Skapa lagringsplats.
Under Snabbinstallation – om du har gjort den här typen av saker tidigare kopierar du HTTPS-URL:en för din lagringsplats.
I en kommandotolk klonar du den nya lagringsplatsen till det lokala skrivbordet på följande sätt:
git clone <repository-url>
Du bör se en varning om att du har klonat en tom lagringsplats.
Skapa ett nytt Blink-projekt i din klon
Öppna Visual Studio Code och skapa ett nytt projekt på följande sätt:
- Välj Visa>kommandopaletten>Azure Sphere: Generera nytt projekt.
- Under Välj en mall väljer du Blinka.
- I dialogrutan Välj mapp anger du en mapp där det nya projektet ska skapas. (Detta kan vara var som helst – du kopierar innehållet i den här mappen till den GitHub-lagringsplats som du skapade tidigare.)
- Ange ett projektnamn som matchar namnet på din GitHub-lagringsplats, till exempel Blink, och tryck på Retur.
- Kopiera dina Azure Sphere-projektfiler (inklusive alla undermappar som .vscode och HardwareDefinitions ) till din lokala klon, checka in och push-överför ändringarna. Du kan sedan ta bort projektmappen som skapades i det här avsnittet, eftersom allt kommer att finnas på GitHub-lagringsplatsen.
Konfigurera mappen .devcontainer
Skapa en mapp med namnet .devcontainer i din GitHub-lagringsplatss toppnivåkatalog. I den här mappen skapar du en fil med namnet devcontainer.json med följande innehåll:
{
"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"
]
}
Skapa sedan en fil med namnet Dockerfile i mappen .devcontainer med följande innehåll:
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" ]
Den första FROM
raden anger standardavbildningen för Azure Sphere Docker som basutvecklingscontainer och den andra anger att den bascontainern ska användas som byggmiljö. Raden COPY
kopierar innehållet i lagringsplatsen till containerns /src/-katalog. WORKDIR
Anger byggkatalogen. Kommandot RUN
innehåller kommandot CMake för att generera byggfilerna. Slutligen ENTRYPOINT
anger att ninja ska anropas för att faktiskt skapa programmet.
Genomför ändringarna i ditt GitHub-projekt och push-överför ändringarna.
Installera GitHub Codespaces-tillägget
Så här installerar du GitHub Codespaces-tillägget:
- Öppna GitHub-lagringsplatsen i Visual Studio Code om den inte redan är det.
- Öppna tillägg från Aktivitetsfältet i Visual Studio Code.
- Sök efter "GitHub Codespaces" och installera GitHub Codespaces-tillägget.
Skapa ett kodområde
Välj Visa>kommandopalettens>kodområden: Skapa nytt kodområde.
I listrutan med lagringsplatser väljer du Blink. Om lagringsplatsen inte visas i listrutan kan du skriva dess namn i textrutan ovanför listan.
I listrutan med grenar väljer du lämplig.
Namnlisten i Visual Studio Code ändras för att visa att du redigerar i Codespaces. Om du öppnar fliken Tillägg i det vänstra navigeringsfältet ser du både tilläggen som är installerade lokalt och de som är installerade i fjärrcontainern.
Skapa och felsöka projektet
Tryck på F5 eller välj Kör>starta felsökning för att skapa projektet och börja felsöka. Ditt program bygger och läser in dem separat på enheten som vanligt. Om du har angett en brytpunkt i koden körs appen tills brytpunkten har nåtts. Du kan använda vanliga felsökningskommandon för att gå igenom koden. Mer information finns i felsökningsavsnittet i Visual Studio Code-dokumentationen.
När du är klar med felsökningen trycker du på Skift+F5 eller stoppikonen. Om du vill stänga kodområdet väljer du Visa>kommandopalettens>kodområden: Stoppa aktuellt kodområde.