Anpassen von Projekt- und Editoreinstellungen

Abgeschlossen

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.jsonaus 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 der customizations.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.