VS Code
Ein portables Skill zum Konfigurieren und Bedienen von VS Code-basierten IDEs (VS Code, VS Code Insiders, Cursor, VSCodium, Trae, Qoder, CodeBuddy) über die Produkt-CLI und strukturierte JSON-Konfigurationsdateien. Standardmäßig werden nur die üblichen Pfade verwendet; explizite Pfade werden aus Umgebungsvariablen und einer Konfigurationsdatei bezogen, sodass das Skill auf jeder Maschine ohne Bearbeitung läuft.
Plattformhinweis: Plattformübergreifend über das Python-Gateway
scripts/vscode_skill.py. Unter Windows leitet es an den PowerShell-Treibervscode-cli.ps1weiter (die ursprüngliche Implementierung, 11/11 Tests erfolgreich). Unter macOS und Linux implementiert esinfo,ext list,settings path/get/set/smokeundpython set-interpreternativ in Python; alles andere wird an die lokalecode-Binary delegiert.
Schnellstart
Plattformübergreifend (empfohlen)
# Erkanntes Produkt, CLI-Pfad und wichtige Speicherorte anzeigen
python scripts/vscode_skill.py info
# Installierte Erweiterungen auflisten
python scripts/vscode_skill.py ext list
# Benutzer-settings.json-Pfad und aktuelle Kern-Einstellungen anzeigen
python scripts/vscode_skill.py settings path
python scripts/vscode_skill.py settings get
# Schriftgröße in den Benutzereinstellungen ändern (schreibt nur mit --Apply)
python scripts/vscode_skill.py settings set \
--FontSize 16 --FontFamily "JetBrains Mono, Consolas, monospace" --Apply
# Projektbezogene Einstellungen
python scripts/vscode_skill.py settings set \
--Scope project --ProjectPath /pfad/zum/projekt \
--FormatOnSave true --Apply
# Python-Interpreter für ein Projekt
python scripts/vscode_skill.py python set-interpreter \
--ProjectPath /pfad/zum/projekt --VenvName .venv
Nur Windows (PowerShell)
Die gleichen Befehle funktionieren direkt über vscode-cli.ps1, falls PowerShell bevorzugt wird:
pwsh -File $PSScriptRoot\scripts\vscode-cli.ps1 info
pwsh -File $PSScriptRoot\scripts\vscode-cli.ps1 ssh open `
--HostName devbox --LinuxPath /home/user/project
--Product-Werte:
auto(Standard): zuerst VS Code, dann VS Code Insiders prüfen.vscode:code/code.cmdverwenden.vscode-insiders:code-insiders/code-insiders.cmdverwenden.- Jeder konfigurierte Produkt-Slug wie
cursor,vscodium,trae-cn,qoderodercodebuddy-cn:products.<slug>.cliPath,userDataPathundextensionsPathaus der Konfigurationsdatei verwenden.
Das Standardprodukt kann explizit mit VSCODE_SKILL_PRODUCT oder über die Konfigurationsdatei gesetzt werden (siehe Konfiguration).
VS Code-kompatible Produkte
Die integrierte automatische Erkennung ist am stärksten für VS Code und VS Code Insiders. Cursor, VSCodium, Trae, Qoder und CodeBuddy werden über den generischen Produktkonfigurationspfad behandelt, es sei denn, ihre CLI ist bereits über einen umgebungsspezifischen Wrapper auffindbar.
Dieses Skill beansprucht nur die VS Code-kompatible Konfigurationsoberfläche für abgeleitete Produkte:
- Benutzer- und Projekteinstellungen, einschließlich
.vscode/settings.json. - Projekt
.vscode/tasks.json,.vscode/launch.jsonund.vscode/extensions.json. - Tastenkürzel, Snippets, Profile, Erweiterungen, Vorlagen, Python-Interpreter-Auswahl und Remote-ähnliche Öffnungsabläufe, sofern die lokale Produkt-CLI diese unterstützt.
Verwenden Sie dieses Skill nicht als Support für proprietäre AI-Chats, Konten, Modelleinstellungen, Agenten-Stores, produktspezifische Marktplätze, versteckte SQLite-Zustände, Token oder interne Laufzeitdateien. Für Qoder und CodeBuddy beschränken Sie die Unterstützung auf die VS Code-kompatible Editor-/Konfigurationsebene, es sei denn, der Benutzer stellt offizielle produktspezifische Dokumentation zur Verfügung und fordert einen separaten Adapter an.
Konfiguration
Pfade und maschinenspezifische Einstellungen werden in dieser Reihenfolge aufgelöst:
- Umgebungsvariable (höchste Priorität).
- Konfigurationsdatei unter
$VSCODE_SKILL_CONFIG, falls gesetzt, sonst der plattformspezifische Standard:- Windows:
%APPDATA%\vscode-skill\config.json - macOS / Linux:
$XDG_CONFIG_HOME/vscode-skill/config.jsonoder~/.config/vscode-skill/config.json
- Windows:
- Eingebaute Standardwerte (niedrigste Priorität).
Umgebungsvariablen
| Variable | Zweck | Standardwert |
|---|---|---|
VSCODE_SKILL_HOME | Installationsort des Skills | Übergeordneter Pfad des ausgeführten Skripts |
VSCODE_SKILL_CONFIG | Überschreibt den Pfad der Konfigurationsdatei | plattformspezifischer Standard oben |
VSCODE_SKILL_TEMP | Überschreibt das temporäre Verzeichnis für Tests | $TEMP/vscode-skill |
VSCODE_SKILL_PRODUCT | Standard---Product-Wert | auto |
VSCODE_CODE_CLI | Expliziter Pfad zur VS Code CLI | automatisch erkannt |
VSCODE_INSIDERS_CLI | Expliziter Pfad zur VS Code Insiders CLI | automatisch erkannt |
VSCODE_EXTENSIONS_DIR | Überschreibt das Erweiterungsinstallationsverzeichnis für jedes Produkt | Produktstandard oder Konfiguration |
VSCODE_USER_DATA | Überschreibt das Benutzerdatenverzeichnis (selten) | plattformspezifischer Standard |
Schema der Konfigurationsdatei
Kopieren Sie config.example.json aus dem Skill-Stammverzeichnis an Ihren Konfigurationsort und bearbeiten Sie es. Alle Schlüssel sind optional.
{
"product": "auto",
"tempDir": null,
"products": {
"vscode": {
"cliPath": "C:\\Users\\benutzer\\scoop\\apps\\vscode\\current\\bin\\code.cmd"
},
"vscode-insiders": {
"cliPath": "C:\\Users\\benutzer\\scoop\\apps\\vscode-insiders\\current\\bin\\code-insiders.cmd"
},
"cursor": {
"cliPath": "C:\\Users\\benutzer\\AppData\\Local\\Programs\\cursor\\resources\\app\\bin\\cursor.cmd",
"userDataPath": "C:\\Users\\benutzer\\AppData\\Roaming\\Cursor\\User",
"extensionsPath": "C:\\Users\\benutzer\\.cursor\\extensions"
},
"vscodium": {
"cliPath": "C:\\Users\\benutzer\\scoop\\apps\\vscodium\\current\\bin\\codium.cmd",
"userDataPath": "C:\\Users\\benutzer\\AppData\\Roaming\\VSCodium\\User",
"extensionsPath": "C:\\Users\\benutzer\\.vscode-oss\\extensions"
},
"trae-cn": {
"cliPath": "C:\\Users\\benutzer\\AppData\\Local\\Programs\\Trae CN\\bin\\trae-cn.cmd",
"userDataPath": "C:\\Users\\benutzer\\AppData\\Roaming\\Trae CN\\User",
"extensionsPath": "C:\\Users\\benutzer\\.trae-cn\\extensions"
},
"qoder": {
"cliPath": "C:\\Users\\benutzer\\AppData\\Local\\Programs\\Qoder\\bin\\qoder.cmd",
"userDataPath": "C:\\Users\\benutzer\\AppData\\Roaming\\Qoder\\User",
"extensionsPath": "C:\\Users\\benutzer\\.qoder\\extensions"
},
"codebuddy-cn": {
"cliPath": "C:\\Users\\benutzer\\AppData\\Local\\Programs\\CodeBuddy CN\\bin\\codebuddy.cmd",
"userDataPath": "C:\\Users\\benutzer\\AppData\\Roaming\\CodeBuddy CN\\User",
"extensionsPath": "C:\\Users\\benutzer\\.codebuddycn\\extensions"
}
},
"ssh": {
"defaultHost": "localhost",
"defaultUser": "benutzer"
},
"wsl": {
"defaultDistro": "Ubuntu-24.04"
}
}
Führen Sie pwsh -File scripts/init-config.ps1 aus, um eine Startkonfigurationsdatei am Standardspeicherort zu schreiben.
Bereichsdisziplin
Bevor Sie einen IDE-Zustand schreiben, klassifizieren Sie ihn in einen von drei Bereichen und bestätigen Sie mit dem Benutzer, falls er mehrdeutig ist:
- Nur-Lese-Inspektion:
info,ext list/locate,settings get/path. Immer sicher. - Projektkonfiguration:
.vscode\settings.json,tasks.json,launch.json,extensions.json, Projektsnippets. Commit-würdig; keine persönlichen Designs, Schriftarten, Kontoinformationen oder maschinenlokalen absoluten Pfade enthalten. - Benutzer-/Globale Konfiguration: Benutzer
settings.json,keybindings.json, Benutzersnippets, Profileinstellungen, installierte Erweiterungen. Vor dem Anwenden immer Zielprodukt, Datei, Schlüssel, alten Wert (wenn lesbar), neuen Wert und Rollback-Pfad nennen.
Regeln:
settings seterfordert explizites--Apply; ohne diesen Schalter validiert der Befehl nur die Eingaben.ext installruft die--install-extensionder Produkt-CLI auf. Falls der Katalog fehlschlägt, wiederholt das Skript nicht still mit Open VSX; eine klare Warnung wird ausgegeben und der Aufrufer entscheidet.- Projekteinstellungen, die über dieses Skill geschrieben werden, sollten niemals
python.defaultInterpreterPathauf eine maschinenlokale venv verweisen lassen, es sei denn, das Projekt ist dafür gedacht, auf dieser spezifischen Maschine reproduzierbar zu sein.
Einstellungsreferenz
Häufige Benutzereinstellungs-Pfade:
- VS Code:
%APPDATA%\Code\User\settings.json - VS Code Insiders:
%APPDATA%\Code - Insiders\User\settings.json
Häufige Schlüssel (alle über settings set setzbar):
| Schlüssel | Flag | Typ |
|---|---|---|
editor.fontFamily | --FontFamily | string |
editor.fontSize | --FontSize | int |
editor.lineHeight | --LineHeight | number |
workbench.colorTheme | --ColorTheme | string |
workbench.iconTheme | --IconTheme | string |
workbench.productIconTheme | --ProductIconTheme | string |
editor.wordWrap | --WordWrap | string |
editor.tabSize | --TabSize | int |
editor.formatOnSave | --FormatOnSave | bool |
files.autoSave | --AutoSave | string |
editor.minimap.enabled | --Minimap | bool |
python.defaultInterpreterPath | (wird über python set-interpreter gesetzt) | string |
Für beliebige Schlüssel übergeben Sie --SettingKey <key> --SettingValue <value>. Werte werden umgewandelt: true/false → bool, Integer/Float → number, {...} / [...] → JSON, sonst string.
JSON-Dateien können den VS Code-Stil mit Kommentaren (JSON with Comments) verwenden; der standardmäßige JSON-Parser des Skripts verarbeitet nur reines JSON. Dateien mit Kommentaren sollten über den Editor oder ein JSONC-bewusstes Tool bearbeitet werden.
Befehle
pwsh -File scripts/vscode-cli.ps1 info
pwsh -File scripts/vscode-cli.ps1 ext list
pwsh -File scripts/vscode-cli.ps1 ext locate --Id ms-python.python
pwsh -File scripts/vscode-cli.ps1 ext install --Id ms-python.python
pwsh -File scripts/vscode-cli.ps1 ext install --Path D:\downloads\some-extension.vsix
pwsh -File scripts/vscode-cli.ps1 settings path
pwsh -File scripts/vscode-cli.ps1 settings get
pwsh -File scripts/vscode-cli.ps1 settings set --FontSize 16 --Apply
pwsh -File scripts/vscode-cli.ps1 settings set --Scope project --ProjectPath D:\projects\demo --FormatOnSave true --Apply
pwsh -File scripts/vscode-cli.ps1 settings smoke
pwsh -File scripts/vscode-cli.ps1 python make-venvs --ProjectPath D:\projects\demo
pwsh -File scripts/vscode-cli.ps1 python set-interpreter --ProjectPath D:\projects\demo --VenvName .venv
pwsh -File scripts/vscode-cli.ps1 python verify --ProjectPath D:\projects\demo --ExpectedVenvName .venv
pwsh -File scripts/vscode-cli.ps1 ssh smoke --HostName localhost
pwsh -File scripts/vscode-cli.ps1 ssh open --HostName devbox --LinuxPath /home/user/project
pwsh -File scripts/vscode-cli.ps1 wsl list
pwsh -File scripts/vscode-cli.ps1 wsl open --Distro Ubuntu-24.04 --LinuxPath /home/user/project
CLI-Auflösungsreihenfolge: explizite Env (VSCODE_CODE_CLI / VSCODE_INSIDERS_CLI) → config.products.<product>.cliPath → Get-Command code.cmd (PATH) → Get-Command code (PATH) → %LOCALAPPDATA%\Programs\Microsoft VS Code\bin\code.cmd (Windows-Standard). Generische Produkte schlagen klar fehl, wenn products.<product>.cliPath fehlt; sie werden niemals still an VS Code weitergeleitet.
Vorlagen und gebündelte Inhalte
Das Skill enthält kuratierte Inhalte unter references/:
settings-index.md— 80 am häufigsten verwendete Einstellungen mit Typ, Standardwert, Bereich.settings-precedence.md— 11-Ebenen-Modell der Rangfolge + Verhalten bei Multi-Root-Workspaces.tasks-templates.md+templates/tasks/*.json— 10 vorgefertigtetasks.jsonfür Node, TypeScript, Python, Go, Rust, Docker, Make.launch-templates.md+templates/launch/*.json— 9 vorgefertigtelaunch.jsonfür die gleichen Sprachen plus Chrome.extension-packs.md— 8 kuratierte Stapel (frontend-web, backend-python, backend-node, data-science, systems, devops, polyglot-baseline, ai-coding).keybindings-cheatsheet.md— 50 am häufigsten neu belegte Tastenkürzel.
# Verfügbare Aufgaben-Vorlagen auflisten
python scripts/vscode_skill.py tasks list
# .vscode/tasks.json aus einer Vorlage generieren (verweigert Überschreiben ohne --Force)
python scripts/vscode_skill.py tasks init --Template python-pytest --ProjectPath /pfad/zum/projekt --Apply
# Gleiches Format für Launch-Vorlagen
python scripts/vscode_skill.py launch init --Template python-current-file --ProjectPath /pfad/zum/projekt --Apply
# Kuratierte Erweiterungs-Stapel
python scripts/vscode_skill.py extensions stacks
python scripts/vscode_skill.py extensions recommend --Stack frontend-web
python scripts/vscode_skill.py extensions install --Stack backend-python
python scripts/vscode_skill.py extensions pin --Stack polyglot-baseline --ProjectPath /pfad/zum/projekt
Profile, Settings Sync, Multi-Root-Workspaces
# Profile anzeigen (nur lesend)
python scripts/vscode_skill.py profile list
python scripts/vscode_skill.py profile show --Profile <name>
# Prüfen, ob der Settings-Sync-Speicher lokal existiert (liest keine Nutzdaten)
python scripts/vscode_skill.py settings-sync status
# Multi-Root-Workspace-Helfer
python scripts/vscode_skill.py workspace info --ProjectPath /pfad/zum/projekt
python scripts/vscode_skill.py workspace folder-settings-get --ProjectPath /pfad --Folder frontend
python scripts/vscode_skill.py workspace folder-settings-set --ProjectPath /pfad --Folder frontend --SettingKey editor.defaultFormatter --SettingValue dbaeumer.vscode-eslint --Apply
Settings Sync wird niemals programmatisch aktiviert oder deaktiviert – das Skill meldet nur, ob der Sync-Speicherordner existiert. Aktivieren/Deaktivieren über die VS Code-Konten-Oberfläche, um versehentliche Datenlecks zu vermeiden.
Remote-Entwicklung
ssh openerstellt einenvscode-remote://ssh-remote+<host><path>-URI und startet die aufgelöste CLI mit--folder-uri.wsl openerstellt einenvscode-remote://wsl+<distro><path>-URI auf ähnliche Weise.ssh smokeführtssh -V,ssh -G <host>undTest-NetConnectionaus, um die untere Ebene zu bestätigen; es garantiert nicht, dass die Remote-SSH-Erweiterung installiert ist oder dass der VS Code-Server gestartet wurde.
Für tiefergehende Remote-Fehlerbehebung überprüfen Sie Hilfe → Entwicklertools umschalten, den Remote-SSH-Erweiterungsausgabekanal oder den workspaceStorage-Eintrag des entsprechenden Produkts.
Tests
Das gebündelte run_vscode_skill_tests.py führt standardmäßig sichere Nur-Lese-Prüfungen durch:
python -X utf8 scripts/run_vscode_skill_tests.py --basic
Optionale Gruppen (erfordern die entsprechende Umgebung):
python -X utf8 scripts/run_vscode_skill_tests.py --include-python-venv
python -X utf8 scripts/run_vscode_skill_tests.py --include-ssh
python -X utf8 scripts/run_vscode_skill_tests.py --include-wsl
python -X utf8 scripts/run_vscode_skill_tests.py --include-product-tests
python -X utf8 scripts/run_vscode_skill_tests.py --all # alles außer WSL
python -X utf8 scripts/run_vscode_skill_tests.py --all --no-python-venv
Tests werden auf allen Plattformen ausgeführt; WSL-Tests werden auf Nicht-Windows-Maschinen übersprungen. Erwartete Fehler (z. B. fehlende Produkte) werden als übersprungen markiert, nicht als bestanden.