Anpassen von Projekt- und Editoreinstellungen
Sie haben einen Entwicklungscontainer für ein Projekt Ihrer Agentur eingerichtet. Dieser kann jetzt von allen Personen verwendet werden, die über Docker und die Erweiterung „dev Containers“ verfügen. Abhängigkeiten müssen weiterhin installiert werden. Sie benötigen möglicherweise auch bestimmte Visual Studio Code-Erweiterungen, die ihnen noch nicht bekannt sind.
Glücklicherweise können Sie das gesamte Projektsetup mithilfe der Datei „devcontainer.json“ vollständig anpassen und automatisieren.
Genauere Betrachtung der Datei „devcontainer.json“
In diesem Abschnitt werden die wichtigsten Optionen in der Datei .devcontainer/devcontainer.json
aus dem Produktdashboard-Projekt genauer beleuchtet. Da alles auf einmal ein bisschen viel ist, ist die Übersicht in Themenbereiche untergliedert.
Buildkonfiguration
Die image
-Eigenschaft definiert, wie der Container auf Basis eines sogenannten Containerimages erstellt wird.
"image": "mcr.microsoft.com/devcontainers/python:0-3.11"
},
Dieses Image wird im Repository devcontainers/images gehostet, wo Sie es weiter überprüfen können. Die Images in diesem Repository sind vordefinierte Images, die Ihren Workflow beschleunigen und die Konfiguration von .devcontainer/devcontainer.json
vereinfachen sollen.
Sie können auch Dateien verwenden, die als Dockerfile oder Docker Compose-Datei bezeichnet werden, um Ihr Setup zu konfigurieren. Diese Dateien können sich in Ihrem .devcontainer
-Ordner befinden und ermöglichen Ihnen, bestimmte Setupanforderungen weiter zu konfigurieren, z. B. die Installation zusätzlicher Software. Weitere Informationen finden Sie in unserer Dokumentation zu Entwicklungscontainern.
Funktionen
Im Kontext eines Entwicklungscontainers sind Features eigenständige, gemeinsam nutzbare Einheiten des Installationscodes und der Konfiguration des Entwicklungscontainers. Der Name leitet sich von der Idee ab, dass Sie Ihrem Entwicklungscontainer durch einen entsprechenden Verweis schnell und unkompliziert zusätzliche Tool-, Runtime- oder Bibliotheksfeatures hinzufügen können, die von Ihnen oder Ihren Projektmitarbeitern genutzt werden können.
Wenn Sie den VS Code-Befehl Dev Containers: Add Dev Container Configuration Files verwenden, wird Ihnen eine Liste mit Skripts angezeigt, die Sie zum Anpassen der vorhandenen Entwicklungscontainer-Konfigurationen verwenden können, z. B. zur Installation von Git oder der Azure CLI.
Projekteinstellungen
Einer der späteren Abschnitte der Datei bezieht sich direkt auf die Projektkonfiguration.
customizations
legt produktspezifische Eigenschaften für Produkte fest, die Entwicklungscontainer unterstützen, z. B. VS Code und GitHub Codespaces.
Beispielsweise können Sie vscode.settings
so festlegen, dass computerspezifische Einstellungen in den Container kopiert werden. Diese Einstellungen können in ihrem eigenen Visual Studio Code-Setup vorliegen. Durch das Hinzufügen zu settings
stellen Sie sicher, dass die Visual Studio Code-Einstellungen für alle Benutzer*innen angewendet werden, die dieses Projekt öffnen.
In diesem Python-Container können Sie diese Einstellungen im Basisimage mcr.microsoft.com/devcontainers/python:0-3.11
sehen. Sie bieten Benutzer*innen eine verbesserte Python-Bearbeitungsoberfläche.
- Mit dem
extensions
-Array in dercustomizations.vscode
-Eigenschaft können Sie angeben, welche Visual Studio Code-Erweiterungen in Visual Studio Code installiert werden sollen, wenn eine Verbindung mit dem Container hergestellt wird. Wenn Sie „Dev Containers“ verwenden, sind Ihr übliches Visual Studio Code-Setup und Ihre aktuellen Erweiterungen nicht vorhanden. Erweiterungen werden hier mit ihrer ID angegeben.
postCreateCommand
Mit der Eigenschaft postCreateCommand
können Sie nach dem Erstellen des Containers jeden beliebigen Befehl ausführen. Erinnern Sie sich noch an die erste Übung? Dort mussten Sie den Befehl pip3
ausführen, um Abhängigkeiten zu installieren. Aber woher wussten Sie, dass Sie das tun mussten? Möglicherweise wussten Sie es nicht. Sie können hier konfigurieren, dass dies automatisch erfolgt, damit andere sich nicht darum kümmern müssen.
In der nächsten Übung ändern Sie die Datei „devcontainer.json“, um einige Aspekte des Projekts zu automatisieren, die anderen Entwicklern zum sofortigen Erfolg verhelfen.