Project- en editorinstellingen aanpassen

Voltooid

U hebt een dev-container ingesteld voor een van de projecten van uw organisatie. Het werkt nu alleen voor iedereen die Docker en de Dev Containers-extensie heeft. Ze moeten nog steeds afhankelijkheden installeren. Ze hebben mogelijk ook enkele Visual Studio Code-extensies nodig die ze niet kennen.

Gelukkig kunt u alle projectinstellingen volledig aanpassen en automatiseren met behulp van het devcontainer.json-bestand.

Een nader inzicht in devcontainer.json

Laten we eens kijken naar de belangrijkste opties in het bestand .devcontainer/devcontainer.json van het project Productendashboard. Het is een beetje lang om alles tegelijk te bekijken, dus laten we het in secties bekijken.

Buildconfiguratie

De eigenschap image definieert hoe de container wordt gemaakt op basis van wat een containerimage wordt genoemd.

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

Deze afbeelding wordt gehost in de devcontainers/images-opslagplaats, waarin u deze verder kunt uitproberen. De afbeeldingen in deze opslagplaats zijn allemaal vooraf samengestelde afbeeldingen, die uw werkstroom versnellen en resulteren in een eenvoudigere .devcontainer/devcontainer.json configuratie.

U kunt ook bestanden gebruiken die bekend zijn als een Dockerfile of een Docker Compose-bestand om uw installatie te configureren. Deze bestanden kunnen zich in uw .devcontainer map bevinden en u in staat stellen om bepaalde installatievereisten verder te configureren, zoals het installeren van extra software. Meer informatie vindt u in de documentatie dev-container.

Functies

Ontwikkelingscontainer Features zijn zelfstandige, deelbare eenheden van installatiecode en configuratie van dev-containers. De naam komt voort uit het idee dat het verwijzen naar een van hen u in staat stelt snel en eenvoudig meer tools, runtime, of bibliotheekfuncties toe te voegen aan uw ontwikkelcontainer voor gebruik door uzelf of uw samenwerkers.

Wanneer u de VS Code-opdracht Dev Containers: Dev Container Configuration Files toevoegengebruikt, ziet u een lijst met scripts voor het aanpassen van de bestaande configuraties van dev containers, zoals het installeren van Git of de Azure CLI.

Projectinstellingen

Een latere sectie van het bestand behandelt rechtstreeks de projectconfiguratie.

customizations stelt productspecifieke eigenschappen in voor producten die ondersteuning bieden voor dev-containers, zoals VS Code en GitHub Codespaces.

U kunt bijvoorbeeld vscode.settings instellen om machinespecifieke instellingen naar de container te kopiëren. Mogelijk hebt u deze instellingen in uw eigen Visual Studio Code-installatie. Door ze toe te voegen aan de settings, zorgt u ervoor dat iedereen die dit project opent, deze specifieke VS Code-instellingen krijgt.

In deze Python-container kunt u deze instellingen zien in zijn basisafbeelding mcr.microsoft.com/devcontainers/python:0-3.11. Ze geven de gebruiker een verbeterde bewerkingservaring voor Python.

  • U kunt de extensions matrix in de eigenschap customizations.vscode gebruiken om op te geven welke Visual Studio Code-extensies moeten worden geïnstalleerd in Visual Studio Code wanneer deze verbinding maakt met de container. De normale installatie van Visual Studio Code en alle extensies die u al hebt, zijn niet aanwezig wanneer u Dev Containers gebruikt. Extensies worden hier opgegeven met hun id's.

postCreateCommand

Met de eigenschap postCreateCommand kunt u opdrachten uitvoeren die u wilt uitvoeren nadat de container is gemaakt. Als u zich herinnert uit de eerste oefening, moest u de opdracht pip3 uitvoeren om afhankelijkheden te installeren. Maar hoe zou je dat weten? Misschien niet. U kunt deze hier zo configureren dat dit automatisch gebeurt en anderen zich geen zorgen hoeven te maken.

In de volgende oefening wijzigt u het devcontainer.json-bestand om verschillende aspecten van het project te automatiseren waarmee andere ontwikkelaars onmiddellijk succes kunnen krijgen.