Automatische Installation einer Extension in VSCode aus einer *.vsix-Datei beim Start eines Dev Containers

Nach einigen Versuchen habe ich schließlich eine funktionierende Lösung für dieses Problem gefunden.

Die Ausgangssituation: Ich entwickle eine eigene VSCode-Erweiterung und nutze dafür einen Docker-Container als Entwicklungsumgebung. Damit ich die Erweiterung laufend testen kann, möchte ich sie automatisch installieren lassen, sobald der Dev Container startet.

Üblicherweise werden Erweiterungen im devcontainer.json unter "customizations": { "vscode": { "extensions": [] }} eingetragen. Das funktioniert jedoch nur bei Erweiterungen aus dem Marketplace – nicht bei lokalen .vsix-Dateien.

Die Lösung besteht darin, postAttachCommand zu verwenden und die Remote-CLI von VSCode direkt aufzurufen:

JSON
"postAttachCommand": "/home/node/.vscode-server/bin/*/bin/remote-cli/code --install-extension /workspace/swx-time-tracker-0.0.1.vsix",

Damit wird die Erweiterung bei jedem Start des Dev Containers automatisch installiert – ohne manuelles Zutun.

Kommentare

Schreibe einen Kommentar