Tilpas indstillinger for projekt og editor

Fuldført

Du har konfigureret en udviklingsobjektbeholder til et af dit agenturs projekter. Det vil nu "bare arbejde" for alle, der har Docker og Dev Containers udvidelse. De bliver stadig nødt til at installere afhængigheder. De har muligvis også brug for nogle Visual Studio Code-udvidelser, som de ikke kender til.

Heldigvis kan du tilpasse og automatisere hele projektkonfigurationen fuldt ud ved hjælp af filen devcontainer.json.

Se nærmere på devcontainer.json

Lad os se på de primære indstillinger i filen .devcontainer/devcontainer.json fra projektet Produktdashboard. Det er lidt langt at se på alle på én gang, så lad os se på det i afsnit.

Opret konfiguration

Egenskaben image definerer, hvordan objektbeholderen oprettes, baseret på det, der kaldes en objektbeholder billede.

"image": "mcr.microsoft.com/devcontainers/python:0-3.11"
},

Dette billede hostes i lageret devcontainers/images, hvor du kan tjekke det ud yderligere. Billederne i dette lager er alle færdigbyggede billeder, hvilket fremskynder arbejdsprocessen og resulterer i en enklere .devcontainer/devcontainer.json konfiguration.

Du kan også bruge filer, der kaldes en Dockerfile eller en Docker Compose-fil, til at konfigurere konfigurationen. Disse filer kan findes i din .devcontainer mappe og give dig mulighed for yderligere at konfigurere visse installationskrav, f.eks. installation af yderligere software. Du kan få mere at vide i dokumentationen til udvikling af objektbeholdere.

Funktioner

Udviklingsobjektbeholder Funktioner, er selvstændige, delelige enheder af installationskoden og konfiguration af udviklingsbeholdere. Navnet kommer fra den idé, at henvisningen til en af dem giver dig mulighed for hurtigt og nemt at tilføje flere værktøjer, kørsel eller bibliotek "Funktioner" i din udviklingsbeholder til brug for dig eller dine samarbejdspartnere.

Når du bruger kommandoen VS Code Dev Containers: Add Dev Container Configuration Files, får du vist en liste over scripts til at tilpasse de eksisterende konfigurationer af udviklingsobjektbeholdere, f.eks. installation af Git eller Azure CLI.

Projektindstillinger

Et senere afsnit i filen omhandler direkte projektkonfiguration.

customizations angiver produktspecifikke egenskaber for produkter, der understøtter udviklingsobjektbeholdere, f.eks. VS Code og GitHub Codespaces.

Du kan f.eks. angive vscode.settings til at kopiere computerspecifikke indstillinger til objektbeholderen. Du har muligvis disse indstillinger i din egen konfiguration af Visual Studio Code. Når du føjer dem til settings, sikrer du, at alle, der åbner dette projekt, får disse specifikke indstillinger for VS Code.

I denne Python-objektbeholder kan du se disse indstillinger i basisbilledet mcr.microsoft.com/devcontainers/python:0-3.11. De giver brugeren en forbedret Python-redigeringsoplevelse.

  • Du kan bruge matrixen extensions i egenskaben customizations.vscode til at angive, hvilke Visual Studio Code-udvidelser der skal installeres i Visual Studio Code, når der oprettes forbindelse til objektbeholderen. Din normale konfiguration af Visual Studio Code og alle de udvidelser, du allerede har, vil ikke være til stede, når du bruger Udviklingsobjektbeholdere. Udvidelser angives her med deres id'er.

postCreateCommand

Med egenskaben postCreateCommand kan du køre de kommandoer, du vil, når objektbeholderen er oprettet. Hvis du husker fra den første øvelse, skulle du køre kommandoen pip3 for at installere afhængigheder. Men hvordan ville du vide at gøre det? Det gør du måske ikke. Du kan konfigurere det her, så det sker automatisk, og andre ikke behøver at bekymre sig om det.

I den næste øvelse skal du ændre devcontainer.json-filen for at automatisere flere aspekter af projektet, der konfigurerer andre udviklere, så de kan få succes med det samme.