Vertrauen in Arbeitsbereiche
Visual Studio Code nimmt Sicherheit ernst und möchte Ihnen helfen, Code sicher zu durchsuchen und zu bearbeiten, unabhängig von Quelle oder ursprünglichem Autor. Die Funktion "Arbeitsbereichsvertrauen" ermöglicht es Ihnen zu entscheiden, ob Code in Ihrem Projektordner von VS Code und Erweiterungen ohne Ihre ausdrückliche Zustimmung ausgeführt werden kann.

Hinweis: Im Zweifelsfall lassen Sie einen Ordner im Eingeschränkten Modus. Sie können das Vertrauen später immer noch aktivieren.
Sicheres Durchsuchen von Code
Es ist großartig, dass so viel Quellcode in öffentlichen Repositories und Dateifreigaben verfügbar ist. Unabhängig von der Codierungsaufgabe oder dem Problem gibt es wahrscheinlich bereits eine gute Lösung. Es ist auch großartig, dass es so viele leistungsstarke Codierungswerkzeuge gibt, die Ihnen helfen, Ihren Code zu verstehen, zu debuggen und zu optimieren. Die Verwendung von Open-Source-Code und -Tools birgt jedoch Risiken, und Sie können sich böswilliger Codeausführung und Exploits aussetzen.
Arbeitsbereichsvertrauen bietet eine zusätzliche Sicherheitsebene bei der Arbeit mit unbekanntem Code, indem die automatische Ausführung von Code in Ihrem Arbeitsbereich verhindert wird, wenn der Arbeitsbereich im "Eingeschränkten Modus" geöffnet ist.
Hinweis: Die Begriffe "Arbeitsbereich" und "Ordner" werden in der VS Code-Benutzeroberfläche und Dokumentation häufig verwendet. Sie können sich einen "Arbeitsbereich" als Ordner mit zusätzlichen Metadaten vorstellen, die von VS Code erstellt und verwendet werden.
Eingeschränkter Modus
Wenn Sie vom Dialogfeld "Arbeitsbereichsvertrauen" aufgefordert werden und Nein, ich vertraue den Autoren nicht wählen, wechselt VS Code in den Eingeschränkten Modus, um die Codeausführung zu verhindern.
Die Benutzeroberfläche zeigt oben ein Banner mit einem Link zur Verwaltung Ihres Ordners über den Editor für Arbeitsbereichsvertrauen an. In der Statusleiste können Sie auch eine Markierung sehen, die darauf hinweist, dass der Arbeitsbereich im Eingeschränkten Modus ist.

Der Eingeschränkte Modus versucht, die automatische Codeausführung zu verhindern, indem er verschiedene VS Code-Funktionen deaktiviert oder einschränkt: Aufgaben, Debugging, Arbeitsbereichseinstellungen und Erweiterungen.
Um die vollständige Liste der im Eingeschränkten Modus deaktivierten Funktionen anzuzeigen, können Sie den Editor für Arbeitsbereichsvertrauen über den Link Verwalten im Banner oder durch Auswahl der Markierung für den Eingeschränkten Modus in der Statusleiste öffnen.

Wichtig: Arbeitsbereichsvertrauen kann eine bösartige Erweiterung nicht daran hindern, Code auszuführen und den Eingeschränkten Modus zu ignorieren. Sie sollten nur Erweiterungen installieren und ausführen, die von einem bekannten Publisher stammen, dem Sie vertrauen.
Aufgaben
VS Code Aufgaben können Skripte und Tool-Binaries ausführen. Da Aufgabendefinitionen im .vscode-Ordner des Arbeitsbereichs definiert sind, sind sie Teil des committeten Quellcodes eines Repositories und werden mit jedem Benutzer dieses Repositories geteilt. Wenn jemand eine bösartige Aufgabe erstellen würde, könnte diese unwissentlich von jedem ausgeführt werden, der das Repository geklont hat.
Wenn Sie versuchen, Aufgaben auszuführen oder aufzulisten (Aufgaben > Aufgabe ausführen), während Sie sich im Eingeschränkten Modus befinden, zeigt VS Code eine Aufforderung an, um zu bestätigen, dass Sie dem Ordner vertrauen und die Aufgabe weiterhin ausführen können. Wenn Sie den Dialog abbrechen, bleibt VS Code im Eingeschränkten Modus.

Debugging
Ähnlich wie bei der Ausführung einer VS Code-Aufgabe können Debug-Erweiterungen beim Starten einer Debug-Sitzung Debugger-Binaries ausführen. Aus diesem Grund ist das Debugging ebenfalls deaktiviert, wenn ein Ordner im Eingeschränkten Modus geöffnet ist.
Wenn Sie versuchen, eine Debug-Sitzung zu starten (Debuggen > Debuggen starten), während Sie sich im Eingeschränkten Modus befinden, zeigt VS Code eine Aufforderung an, um zu bestätigen, dass Sie dem Ordner vertrauen und den Debugger weiterhin starten können. Wenn Sie den Dialog abbrechen, bleibt VS Code im Eingeschränkten Modus und startet die Debug-Sitzung nicht.

Arbeitsbereichseinstellungen
Arbeitsbereichs- Einstellungen werden im .vscode-Ordner im Stammverzeichnis Ihres Arbeitsbereichs gespeichert und daher von jedem geteilt, der das Arbeitsbereichsrepository klont. Einige Einstellungen enthalten Pfade zu ausführbaren Dateien (z. B. Linter-Binaries), die, wenn sie auf bösartigen Code verweisen, Schaden verursachen könnten. Aus diesem Grund deaktiviert VS Code eine Reihe von Arbeitsbereichseinstellungen im Eingeschränkten Modus.

Wählen Sie im Editor für Arbeitsbereichsvertrauen den Link für Arbeitsbereichseinstellungen, die nicht angewendet werden, um den Einstellungen-Editor mit dem Tag @tag:requireTrustedWorkspace zu öffnen.

Erweiterungen
Das Ökosystem der VS Code- Erweiterungen ist unglaublich reichhaltig und vielfältig. Entwickler haben Erweiterungen erstellt, die bei fast jeder Programmieraufgabe oder Editor-Anpassung helfen. Einige Erweiterungen bieten volle Programmiersprachenunterstützung (IntelliSense, Debugging, Code-Analyse), andere ermöglichen es Ihnen, Musik zu spielen oder virtuelle Haustiere zu haben.
Die meisten Erweiterungen führen Code in Ihrem Auftrag aus und könnten potenziell Schaden anrichten. Einige Erweiterungen haben Einstellungen, die dazu führen könnten, dass sie bösartig agieren, wenn sie so konfiguriert sind, dass sie eine unerwartete ausführbare Datei ausführen. Aus diesem Grund sind Erweiterungen, die nicht explizit für Arbeitsbereichsvertrauen optiert haben, im Eingeschränkten Modus standardmäßig deaktiviert.

Sie können den Status einer installierten Erweiterung überprüfen, indem Sie den Link Erweiterungen sind deaktiviert oder haben eingeschränkte Funktionalität im Editor für Arbeitsbereichsvertrauen auswählen. Dies öffnet die Ansicht "Erweiterungen", gefiltert mit @workspaceUnsupported.

Erweiterungen, die nicht für Arbeitsbereichsvertrauen optiert haben, können im Eingeschränkten Modus entweder deaktiviert oder eingeschränkt werden.
Im Eingeschränkten Modus deaktiviert
Erweiterungen, die entweder nicht explizit angegeben haben, dass sie die Ausführung im Eingeschränkten Modus unterstützen, oder die ein Autor explizit von der Aktivierung im Eingeschränkten Modus ausgeschlossen hat (weil die Erweiterung durch Arbeitsbereichsmodifikationen (Einstellungen oder Dateien) missbraucht werden könnte), werden im Abschnitt Im Eingeschränkten Modus deaktiviert angezeigt.
Im Eingeschränkten Modus eingeschränkt
Erweiterungsautoren können ihre Erweiterungen auch auf mögliche Sicherheitslücken prüfen und deklarieren, dass sie im Eingeschränkten Modus nur eingeschränkte Unterstützung haben. Dieser Modus bedeutet, dass die Erweiterung einige Funktionen oder Merkmale deaktivieren kann, um einen möglichen Exploit zu verhindern.
Erweiterungen können benutzerdefinierten Text zum Arbeitsbereichsvertrauens-Badge in der Erweiterungsansicht hinzufügen und die Einschränkung im Rahmen der Ausführung in einem nicht vertrauenswürdigen Ordner erläutern. Beispielsweise schränkt die integrierte PHP-Erweiterung von VS Code die Verwendung der Einstellung php.validate.executablePath auf vertrauenswürdige Ordner ein, da das Überschreiben dieser Einstellung ein bösartiges Programm ausführen könnte.

Sie können die Unterstützung für Arbeitsbereichsvertrauen einer Erweiterung mithilfe der Einstellung extensions.supportUntrustedWorkspaces überschreiben, die im folgenden Abschnitt Erweiterungen aktivieren beschrieben wird.
Wenn Sie versuchen, eine Erweiterung im Eingeschränkten Modus zu installieren, werden Sie aufgefordert, entweder den Arbeitsbereich zu vertrauen oder die Erweiterung einfach zu installieren. Wenn die Erweiterung keine Arbeitsbereichsvertrauensunterstützung hat, wird sie installiert, aber deaktiviert oder mit eingeschränkter Funktionalität ausgeführt.

Hinweis: Erweiterungsautoren können lernen, wie sie ihre Erweiterungen aktualisieren, um Arbeitsbereichsvertrauen zu unterstützen, indem sie den Leitfaden für Arbeitsbereichsvertrauen für Erweiterungen lesen.
Einen Arbeitsbereich vertrauen
Wenn Sie den Autoren und Maintainern eines Projekts vertrauen, können Sie den Ordner des Projekts auf Ihrem lokalen Computer vertrauen. Es ist beispielsweise normalerweise sicher, Repositories von bekannten GitHub-Organisationen wie github.com/microsoft oder github.com/docker zu vertrauen.
Wenn Sie einen neuen Ordner öffnen, können Sie diesen Ordner und seine Unterordner über die anfängliche Arbeitsbereichsvertrauensabfrage als vertrauenswürdig einstufen.

Sie können auch den Editor für Arbeitsbereichsvertrauen aufrufen und den Vertrauensstatus eines Ordners schnell ändern, indem Sie auf die Schaltfläche Vertrauen oder Übergeordneten Ordner vertrauen klicken.

Es gibt mehrere Möglichkeiten, den Dialog "Editor für Arbeitsbereichsvertrauen" aufzurufen.
Im Eingeschränkten Modus
- Link Verwalten im Banner des Eingeschränkten Modus
- Element der Statusleiste für den Eingeschränkten Modus
Sie können auch jederzeit
- den Befehl Arbeitsbereiche: Arbeitsbereichsvertrauen verwalten aus der Befehlspalette (⇧⌘P (Windows, Linux Ctrl+Shift+P)) verwenden
Ordner auswählen
Wenn Sie einem Ordner vertrauen, wird er zur Liste Vertrauenswürdige Ordner & Arbeitsbereiche hinzugefügt, die im Editor für Arbeitsbereichsvertrauen angezeigt wird.

Sie können Ordner manuell zu dieser Liste hinzufügen, bearbeiten und entfernen, um das Arbeitsbereichsvertrauen zu aktivieren oder zu deaktivieren. Der aktive Ordner wird in dieser Liste fett hervorgehoben.
Auswahl eines übergeordneten Ordners
Wenn Sie einem Ordner über den Editor für Arbeitsbereichsvertrauen vertrauen, haben Sie die Option, auch dem übergeordneten Ordner zu vertrauen. Dies wendet das Vertrauen auf den übergeordneten Ordner und alle seine Unterordner an.

Das Vertrauen in den übergeordneten Ordner kann hilfreich sein, wenn Sie viele Ordner mit vertrauenswürdigem Inhalt unter einem einzigen Ordner haben.
Wenn Sie einen Unterordner unter einem vertrauenswürdigen übergeordneten Ordner öffnen, sehen Sie nicht die übliche Schaltfläche Nicht vertrauen, um wieder in den Eingeschränkten Modus zu gelangen. Stattdessen gibt es einen Text, der darauf hinweist, dass Ihr Ordner aufgrund eines anderen Ordners vertrauenswürdig ist.
Sie können einen übergeordneten Ordner aus der Liste Vertrauenswürdige Ordner & Arbeitsbereiche hinzufügen, ändern und entfernen.
Ordnerkonfigurationen
Wenn Sie einem übergeordneten Ordner vertrauen, werden alle Unterordner als vertrauenswürdig eingestuft, sodass Sie das Arbeitsbereichsvertrauen über den Speicherort eines Repositorys auf der Festplatte steuern können.
Sie könnten beispielsweise alle vertrauenswürdigen Repositories unter einem übergeordneten Ordner "TrustedRepos" und unbekannte Repositories unter einem anderen übergeordneten Ordner wie "ForEvaluation" platzieren. Sie würden dem Ordner "TrustedRepos" vertrauen und selektiv Ordner unter "ForEvaluation" vertrauen.
├── TrustedRepos - Clone trusted repositories under this parent folder
└── ForEvaluation - Clone experimental or unfamiliar repositories under this parent folder
Sie können Ihre Repositories auch gruppieren und Vertrauen für sie festlegen, indem Sie sie unter organisationsspezifischen übergeordneten Ordnern gruppieren.
├── github/microsoft - Clone a specific organization's repositories under this parent folder
├── github/{myforks} - Place your forked repositories under this parent folder
└── local - Local un-published repositories
Erweiterungen aktivieren
Was passiert, wenn Sie den Eingeschränkten Modus verwenden möchten, aber Ihre bevorzugte Erweiterung keine Arbeitsbereichsvertrauensunterstützung bietet? Dies kann passieren, wenn eine Erweiterung, obwohl nützlich und funktionsfähig, nicht aktiv gewartet wird und ihre Unterstützung für Arbeitsbereichsvertrauen nicht deklariert hat. Um dieses Szenario zu bewältigen, können Sie den Vertrauensstatus der Erweiterung mit der Einstellung extensions.supportUntrustedWorkspaces überschreiben.
Wichtig: Seien Sie vorsichtig beim Überschreiben der Unterstützung für Arbeitsbereichsvertrauen einer Erweiterung. Es ist möglich, dass der Erweiterungsautor einen guten Grund hat, seine Erweiterung im Eingeschränkten Modus zu deaktivieren. Im Zweifelsfall wenden Sie sich an den Erweiterungsautor oder überprüfen Sie aktuelle Changelogs, um mehr Kontext zu erhalten.
Im Einstellungen-Editor (⌘, (Windows, Linux Ctrl+,)) können Sie das Arbeitsbereichsvertrauen für einzelne Erweiterungen über die Einstellung Erweiterungen: Unterstützung für nicht vertrauenswürdige Arbeitsbereiche (extensions.supportUntrustedWorkspaces) überschreiben.

Wählen Sie den Link In settings.json bearbeiten, um die Liste der Erweiterungs-IDs und ihren Unterstützungsstatus sowie ihre Version zu verwalten. Sie können jede Ihrer installierten Erweiterungen über IntelliSense-Vorschläge auswählen.
Unten sehen Sie einen Eintrag in settings.json für die Prettier-Erweiterung.
"extensions.supportUntrustedWorkspaces": {
"esbenp.prettier-vscode": {
"supported": true,
"version": "6.4.0"
},
},
Sie können die Unterstützung für Arbeitsbereichsvertrauen entweder mit dem Attribut supported aktivieren oder deaktivieren. Das Attribut version gibt die exakte zutreffende Erweiterungsversion an, und Sie können das Versionsfeld entfernen, wenn Sie den Status für alle Versionen festlegen möchten.
Wenn Sie mehr darüber erfahren möchten, wie Erweiterungsautoren bewerten und entscheiden, welche Funktionen im Eingeschränkten Modus eingeschränkt werden sollen, lesen Sie den Leitfaden für Arbeitsbereichsvertrauen für Erweiterungen.
Nicht vertrauenswürdige Dateien öffnen
Wenn Sie eine Datei öffnen, die sich außerhalb eines vertrauenswürdigen Ordners befindet, erkennt VS Code, dass die Datei von außerhalb des Ordners stammt, und fordert Sie auf, die Datei weiterhin zu öffnen oder die Datei in einem neuen Fenster im Eingeschränkten Modus zu öffnen. Das Öffnen im Eingeschränkten Modus ist die sicherste Option, und Sie können die Datei jederzeit in Ihrem ursprünglichen VS Code-Fenster erneut öffnen, sobald Sie feststellen, dass die Datei vertrauenswürdig ist.

Wenn Sie nicht aufgefordert werden möchten, wenn Sie Dateien aus nicht vertrauenswürdigen Arbeitsbereichen öffnen, können Sie security.workspace.trust.untrustedFiles auf open setzen. Sie können security.workspace.trust.untrustedFiles auch auf newWindow setzen, um immer ein neues Fenster im Eingeschränkten Modus zu erstellen. Das Aktivieren des Kontrollkästchens Meine Entscheidung für alle Arbeitsbereiche merken im Dialogfeld für nicht vertrauenswürdige Dateien wendet Ihre Wahl auf die Benutzereinstellung security.workspace.trust.untrustedFiles an.
Nicht vertrauenswürdige Ordner öffnen
Beim Arbeiten mit Multi-Root-Arbeitsbereichen mit mehreren Ordnern werden Sie aufgefordert zu entscheiden, ob Sie den Dateien in diesem Ordner vertrauen oder ob der gesamte Arbeitsbereich in den Eingeschränkten Modus wechselt, wenn Sie versuchen, einen neuen Ordner zu einem vertrauenswürdigen Multi-Root-Arbeitsbereich hinzuzufügen.

Leere Fenster (kein offener Ordner)
Standardmäßig führt VS Code ein neues VS Code-Fenster (Instanz) mit vollständigem Vertrauen aus, wenn Sie es öffnen, ohne einen Ordner oder Arbeitsbereich zu öffnen. Alle installierten Erweiterungen sind aktiviert, und Sie können das leere Fenster ohne Einschränkungen verwenden.
Wenn Sie eine Datei öffnen, werden Sie gefragt, ob Sie eine nicht vertrauenswürdige Datei öffnen möchten, da kein Ordner vorhanden ist, der sie überlagert.
Sie können ein leeres Fenster in den Eingeschränkten Modus wechseln, indem Sie den Editor für Arbeitsbereichsvertrauen aufrufen (Arbeitsbereiche: Arbeitsbereichsvertrauen verwalten in der Befehlspalette auswählen) und dann Nicht vertrauen auswählen. Das leere Fenster bleibt für Ihre aktuelle Sitzung im Eingeschränkten Modus, wird aber wieder vertrauenswürdig, wenn Sie neu starten oder ein neues Fenster erstellen.
Wenn Sie möchten, dass alle leeren Fenster im Eingeschränkten Modus sind, können Sie security.workspace.trust.emptyWindow auf false setzen.
Einstellungen
Unten finden Sie die verfügbaren Einstellungen für Arbeitsbereichsvertrauen
- security.workspace.trust.enabled – Aktiviert die Funktion Arbeitsbereichsvertrauen. Standard ist true.
- security.workspace.trust.startupPrompt – Ob der Dialog "Arbeitsbereichsvertrauen" beim Start angezeigt werden soll. Standard ist, nur einmal pro unterschiedlichem Ordner oder Arbeitsbereich anzuzeigen.
- security.workspace.trust.emptyWindow – Ob ein leeres Fenster (kein offener Ordner) immer als vertrauenswürdig eingestuft werden soll. Standard ist true.
- security.workspace.trust.untrustedFiles – Steuert, wie mit losen Dateien in einem Arbeitsbereich umgegangen wird. Standard ist, zu fragen.
- extensions.supportUntrustedWorkspaces – Überschreibt die Deklarationen für das Arbeitsbereichsvertrauen von Erweiterungen. Entweder true oder false.
- security.workspace.trust.banner – Steuert, wann das Banner für den Eingeschränkten Modus angezeigt wird. Standard ist
untilDismissed.
Befehlszeilen-Schalter
Sie können das Arbeitsbereichsvertrauen über die VS Code-Befehlszeile deaktivieren, indem Sie --disable-workspace-trust übergeben. Dieser Schalter wirkt sich nur auf die aktuelle Sitzung aus.
Nächste Schritte
Weitere Informationen finden Sie unter
- Leitfaden für Arbeitsbereichsvertrauen für Erweiterungen – Erfahren Sie, wie Erweiterungsautoren Arbeitsbereichsvertrauen unterstützen können.
- Was ist ein VS Code "Arbeitsbereich"? – Erfahren Sie mehr Details zum Konzept des VS Code "Arbeitsbereichs".
- GitHub Repositories-Erweiterung – Arbeiten Sie direkt an einem Repository, ohne den Quellcode auf Ihren lokalen Computer zu klonen.
Häufig gestellte Fragen
Kann ich meinen Quellcode im Eingeschränkten Modus immer noch bearbeiten?
Ja, Sie können Quellcode im Eingeschränkten Modus weiterhin durchsuchen und bearbeiten. Einige Sprachfunktionen können deaktiviert sein, aber die Textbearbeitung wird immer unterstützt.
Wo sind meine installierten Erweiterungen geblieben?
Im Eingeschränkten Modus wird jede Erweiterung, die keine Arbeitsbereichsvertrauensunterstützung hat, deaktiviert, und alle UI-Elemente wie Aktivitätsleistensymbole und Befehle werden nicht angezeigt.
Sie können die Unterstützung für Arbeitsbereichsvertrauen einer Erweiterung mit der Einstellung extensions.supportUntrustedWorkspaces überschreiben, aber tun Sie dies mit Vorsicht. Erweiterungen aktivieren enthält weitere Details.
Kann ich die Funktion Arbeitsbereichsvertrauen deaktivieren?
Sie können, aber es wird nicht empfohlen. Wenn Sie nicht möchten, dass VS Code beim Öffnen eines neuen Ordners oder Repositorys auf Arbeitsbereichsvertrauen prüft, können Sie security.workspace.trust.enabled auf false setzen. VS Code verhält sich dann wie vor dem Release 1.57.
Wie mache ich einen Ordner/Arbeitsbereich nicht vertrauenswürdig?
Rufen Sie den Editor für Arbeitsbereichsvertrauen auf (Arbeitsbereiche: Arbeitsbereichsvertrauen verwalten aus der Befehlspalette) und wählen Sie die Schaltfläche Nicht vertrauen. Sie können den Ordner auch aus der Liste Vertrauenswürdige Ordner & Arbeitsbereiche entfernen.
Warum sehe ich die Schaltfläche "Nicht vertrauen" nicht?
Wenn Sie die Schaltfläche Nicht vertrauen im Dialogfeld für Arbeitsbereichsvertrauen nicht sehen, kann die Vertrauensstufe des Ordners von einem übergeordneten Ordner geerbt werden. Überprüfen Sie die Liste Vertrauenswürdige Ordner & Arbeitsbereiche, um zu sehen, ob ein übergeordneter Ordner das Arbeitsbereichsvertrauen aktiviert hat.
Einige Workflows, wie die Verbindung zu einem GitHub Codespace oder das Anhängen an einen laufenden Docker-Container, sind automatisch vertrauenswürdig, da dies verwaltete Umgebungen sind, denen Sie bereits ein hohes Maß an Vertrauen entgegenbringen sollten.
Wogegen schützt Arbeitsbereichsvertrauen?
Viele Funktionen von VS Code erlauben die automatische Ausführung von Drittanbieter-Tools und Erweiterungen, wie z. B. Linting oder Formatieren beim Speichern, oder bei bestimmten Operationen wie Kompilieren von Code oder Debugging. Eine unethische Person könnte ein harmlos aussehendes Projekt erstellen, das bösartigen Code ohne Ihr Wissen ausführt und Ihren lokalen Computer beschädigt. Arbeitsbereichsvertrauen bietet eine zusätzliche Sicherheitsebene, indem es versucht, die Codeausführung zu verhindern, während Sie die Sicherheit und Integrität von unbekanntem Quellcode bewerten.