ist jetzt verfügbar! Lesen Sie über die neuen Funktionen und Fehlerbehebungen vom November.

Mehrere Stammordner in Arbeitsbereichen

Mit Arbeitsbereichen mit mehreren Stammordnern können Sie in Visual Studio Code mit mehreren Projektordnern arbeiten. Dies kann hilfreich sein, wenn Sie gleichzeitig an mehreren zusammenhängenden Projekten arbeiten. Sie können beispielsweise ein Repository mit der Dokumentation eines Produkts haben, das Sie auf dem neuesten Stand halten möchten, wenn Sie den Quellcode des Produkts aktualisieren.

multi-root hero

Hinweis: Wenn Sie mehr über das VS Code-Konzept "Arbeitsbereich" erfahren möchten, lesen Sie bitte Was ist ein VS Code-Arbeitsbereich? Sofern Sie nicht ausdrücklich einen Arbeitsbereich mit mehreren Stammordnern erstellen, ist ein "Arbeitsbereich" lediglich der einzelne Stammordner Ihres Projekts.

Ordner hinzufügen

Es ist einfach, Ihrem vorhandenen Arbeitsbereich einen weiteren Ordner hinzuzufügen. Es gibt verschiedene Möglichkeiten, Ordner hinzuzufügen

Ordner zum Arbeitsbereich hinzufügen

Der Befehl Datei > Ordner zum Arbeitsbereich hinzufügen öffnet einen Dialog "Ordner öffnen", um den neuen Ordner auszuwählen.

Add Root Folder

Sobald ein Stammordner hinzugefügt wurde, zeigt der Explorer den neuen Ordner als Stammverzeichnis im Datei-Explorer an. Sie können mit der rechten Maustaste auf einen der Stammordner klicken und das Kontextmenü verwenden, um Ordner hinzuzufügen oder zu entfernen.

Remove Root Folder

Der Datei-Explorer sollte wie gewohnt funktionieren und sich verhalten. Sie können Dateien zwischen Stammordnern verschieben und alle typischen Dateioperationen verwenden, die im Kontextmenü und in der Explorer-Ansicht angeboten werden.

Einstellungen wie files.exclude werden für jeden Stammordner unterstützt, wenn konfiguriert, und für alle Ordner, wenn als globale Benutzereinstellung konfiguriert.

Ziehen und Ablegen

Sie können Ordner per Drag & Drop zu einem Arbeitsbereich hinzufügen. Ziehen Sie einen Ordner in den Datei-Explorer, um ihn zum aktuellen Arbeitsbereich hinzuzufügen. Sie können sogar mehrere Ordner auswählen und ziehen.

Hinweis: Wenn Sie einen einzelnen Ordner in den Editorbereich von VS Code ziehen und ablegen, wird der Ordner weiterhin im Einzelordner-Modus geöffnet. Wenn Sie mehrere Ordner in den Editorbereich ziehen und ablegen, wird ein neuer Arbeitsbereich mit mehreren Stammordnern erstellt.

Sie können Drag & Drop auch verwenden, um Ordner im Arbeitsbereich neu anzuordnen.

Dialogfelder zum Öffnen von Dateien mit Mehrfachauswahl

Das Öffnen mehrerer Ordner mit dem nativen Dialogfeld zum Öffnen von Dateien Ihrer Plattform erstellt einen Arbeitsbereich mit mehreren Stammordnern.

Befehlszeile --add

Fügen Sie einen Ordner oder mehrere Ordner zur zuletzt aktiven VS Code-Instanz für einen Arbeitsbereich mit mehreren Stammordnern hinzu.

  code --add vscode vscode-docs

Ordner entfernen

Sie können einen Ordner mit dem Kontextmenübefehl Ordner aus Arbeitsbereich entfernen aus einem Arbeitsbereich entfernen.

Arbeitsbereichsdatei

Wenn Sie mehrere Ordner hinzufügen, werden diese zunächst in einem Arbeitsbereich mit dem Titel UNGESPEICHERTER ARBEITSBEREICH platziert und dieser Name bleibt bestehen, bis Sie den Arbeitsbereich speichern. Sie müssen einen Arbeitsbereich erst speichern, wenn Sie ihn an einem dauerhaften Ort, z. B. auf Ihrem Desktop, ablegen möchten. Ungespeicherte Arbeitsbereiche sind vorhanden, solange die VS Code-Instanz, die sie verwendet, geöffnet ist. Sobald Sie eine Instanz mit einem ungespeicherten Arbeitsbereich vollständig schließen, werden Sie aufgefordert, ihn zu speichern, wenn Sie ihn in Zukunft erneut öffnen möchten.

save workspace dialog

Wenn Sie Ihren Arbeitsbereich speichern, wird eine .code-workspace-Datei erstellt und der Dateiname im Datei-Explorer angezeigt.

Arbeitsbereich speichern unter...

Wenn Sie Ihre Arbeitsbereichsdatei an einen neuen Speicherort verschieben möchten, können Sie den Befehl Datei > Arbeitsbereich speichern unter verwenden, der automatisch die richtigen Ordnerpfade relativ zum neuen Speicherort der Arbeitsbereichsdatei festlegt.

Arbeitsbereichsdateien öffnen

Um einen Arbeitsbereich erneut zu öffnen, können Sie

  • Doppelklicken Sie auf die .code-workspace-Datei im Explorer Ihrer Plattform.
  • Verwenden Sie den Befehl Datei > Arbeitsbereich öffnen und wählen Sie die Arbeitsbereichsdatei aus.
  • Wählen Sie den Arbeitsbereich aus der Liste Datei > Zuletzt geöffnet (⌃R (Windows, Linux Ctrl+R)).
    • Arbeitsbereiche haben ein (Arbeitsbereich)-Suffix, um sie von Ordnern zu unterscheiden.

open recent workspace list

Ähnlich wie bei Ordner schließen, wenn ein einzelner Ordner in VS Code geöffnet ist, gibt es den Befehl Arbeitsbereich schließen (⌘K F (Windows, Linux Ctrl+K F)), um den aktiven Arbeitsbereich zu schließen.

Schema der Arbeitsbereichsdatei

Das Schema von .code-workspace ist ziemlich einfach. Sie haben ein Array von Ordnern mit absoluten oder relativen Pfaden. Relative Pfade sind besser, wenn Sie Arbeitsbereichsdateien teilen möchten.

Sie können den Anzeigenamen Ihrer Ordner mit dem Attribut name überschreiben, um Ordnern im Explorer aussagekräftigere Namen zu geben. Sie könnten beispielsweise Ihre Projektordner als 'Produkt' und 'Dokumentation' bezeichnen, um den Inhalt anhand des Ordnernamens leicht zu identifizieren

{
  "folders": [
    {
      // Source code
      "name": "Product",
      "path": "vscode"
    },
    {
      // Docs and release notes
      "name": "Documentation",
      "path": "vscode-docs"
    },
    {
      // Yeoman extension generator
      "name": "Extension generator",
      "path": "vscode-generator-code"
    }
  ]
}

was zum folgenden Explorer-Display führt

named folders

Wie Sie dem obigen Beispiel entnehmen können, können Sie Ihren Arbeitsbereichsdateien Kommentare hinzufügen.

Die Arbeitsbereichsdatei kann auch globale Arbeitsbereichseinstellungen unter settings und Erweiterungsempfehlungen unter extensions enthalten, die wir unten besprechen werden.

workspace file schema

Allgemeine Benutzeroberfläche

Editor

Es gibt nur wenige Änderungen an der VS Code-Benutzeroberfläche, wenn Sie Arbeitsbereiche mit mehreren Stammordnern verwenden, hauptsächlich um Dateien zwischen Ordnern zu unterscheiden. Wenn es beispielsweise zu einer Namenskollision zwischen Dateien in mehreren Ordnern kommt, wird VS Code den Ordnernamen in den Reiter-Headern anzeigen.

tabbed headers

Wenn Sie den Ordner immer im Reiter-Header sehen möchten, können Sie die Einstellung workbench.editor.labelFormat mit den Werten "medium" oder "long" verwenden, um die Ordner- oder vollständigen Pfade anzuzeigen.

"workbench.editor.labelFormat": "medium"

VS Code-Benutzeroberflächenelemente wie die Listen GEÖFFNETE EDITOREN und Schnell öffnen (⌘P (Windows, Linux Ctrl+P)) enthalten den Ordnernamen.

quick pick has folder name

Wenn Sie ein Datei-Symbol-Thema verwenden und das aktive Thema es unterstützt, sehen Sie ein spezielles Arbeitsbereichssymbol.

Unten sehen Sie die Arbeitsbereichssymbole aus dem integrierten Datei-Symbol-Thema Minimal (Visual Studio Code)

custom workspace icon

VS Code-Funktionen wie die globale Suche funktionieren über alle Ordner hinweg und gruppieren die Suchergebnisse nach Ordner.

multi-root search results

Wenn ein Arbeitsbereich mit mehreren Stammordnern geöffnet ist, können Sie in einem einzelnen Stammordner suchen, indem Sie die Syntax ./ im Feld einzuschließende Dateien verwenden. Wenn Sie beispielsweise ./projekt1/**/*.txt eingeben, wird nach allen .txt-Dateien im Stammordner projekt1/ gesucht.

Einstellungen

Bei mehreren Stammordnern in einem Arbeitsbereich ist es möglich, in jedem Stammordner einen .vscode-Ordner zu haben, der die Einstellungen für diesen Ordner definiert. Um Einstellungskonflikte zu vermeiden, werden bei Verwendung eines Arbeitsbereichs mit mehreren Stammordnern nur Ressourcen- (Datei, Ordner) Einstellungen angewendet. Einstellungen, die den gesamten Editor betreffen (z. B. die Benutzeroberflächenanordnung), werden ignoriert. Zwei Projekte können beispielsweise nicht beide die Zoomstufe festlegen.

Benutzereinstellungen werden wie bei einzelnen Ordnerprojekten unterstützt, und Sie können auch globale Arbeitsbereichseinstellungen festlegen, die für alle Ordner in Ihrem Arbeitsbereich mit mehreren Stammordnern gelten. Globale Arbeitsbereichseinstellungen werden in Ihrer .code-workspace-Datei gespeichert.

{
  "folders": [
    {
      "path": "vscode"
    },
    {
      "path": "vscode-docs"
    },
    {
      "path": "vscode-generator-code"
    }
  ],
  "settings": {
    "window.zoomLevel": 1,
    "files.autoSave": "afterDelay"
  }
}

Wenn Sie von einer Einzelordner-Instanz zu mehreren Ordnern wechseln, fügt VS Code die entsprechenden editorweiten Einstellungen aus dem ersten Ordner zu den neuen globalen Arbeitsbereichseinstellungen hinzu.

Sie können die verschiedenen Einstellungsdateien einfach über den Einstellungen-Editor überprüfen und ändern. Die Tabs des Einstellungen-Editors ermöglichen es Ihnen, Ihre Benutzereinstellungen, globalen Arbeitsbereichseinstellungen und einzelnen Ordner-Einstellungen auszuwählen.

settings dropdown

Sie können bestimmte Einstellungsdateien auch mit den Befehlen öffnen

  • Einstellungen: Benutzereinstellungen öffnen - Öffnet Ihre globalen Benutzereinstellungen.
  • Einstellungen: Arbeitsbereichseinstellungen öffnen - Öffnet den Einstellungsbereich Ihrer Arbeitsbereichsdatei.
  • Einstellungen: Ordner-Einstellungen öffnen - Öffnet die Einstellungen für den aktiven Ordner.

Globale Arbeitsbereichseinstellungen überschreiben Benutzereinstellungen, und Ordner-Einstellungen können Arbeitsbereichs- oder Benutzereinstellungen überschreiben.

Nicht unterstützte Ordner-Einstellungen

Nicht unterstützte editorweite Ordner-Einstellungen werden in Ihren Ordner-Einstellungen grau angezeigt und aus der Liste STANDARD-ORDNER-EINSTELLUNGEN gefiltert. Sie sehen auch ein Informationssymbol vor der Einstellung.

unsupported setting information

Debugging

Bei Arbeitsbereichen mit mehreren Stammordnern durchsucht VS Code alle Ordner nach launch.json-Debugkonfigurationsdateien und zeigt sie mit dem Ordnernamen als Suffix an. Zusätzlich zeigt VS Code auch Startkonfigurationen an, die in der Arbeitsbereichskonfigurationsdatei definiert sind.

debugging dropdown

Das obige Beispiel zeigt die Debugkonfigurationen für die TSLint-Erweiterung. Es gibt eine launch-Konfiguration aus dem tslint-Erweiterungsordner, um die Erweiterung im VS Code Extension Host zu starten, und auch eine attach-Konfiguration aus dem tslint-server-Ordner, um den Debugger an einen laufenden TSLint-Server anzuhängen.

Sie sehen auch die drei Befehle Config hinzufügen für die Ordner tslint, tslint-server und tslint-tests im Arbeitsbereich von vscode-tslint. Der Befehl Config hinzufügen öffnet entweder eine vorhandene launch.json-Datei im .vscode-Unterordner des Ordners oder erstellt eine neue und zeigt die Dropdown-Liste für Vorlagen von Debugkonfigurationen an.

debugging template dropdown

Variablen, die in einer Konfiguration verwendet werden (z. B. ${workspaceFolder} oder das inzwischen veraltete ${workspaceRoot}), werden relativ zu dem Ordner aufgelöst, zu dem sie gehören. Es ist möglich, eine Variable pro Arbeitsbereichsordner zu beschränken, indem der Name des Stammordners an eine Variable angehängt wird (getrennt durch einen Doppelpunkt).

Arbeitsbereichsbezogene Startkonfigurationen

Arbeitsbereichsbezogene Startkonfigurationen befinden sich im Abschnitt "launch" der Arbeitsbereichskonfigurationsdatei (Arbeitsbereiche: Arbeitsbereichskonfigurationsdatei öffnen in der Befehlspalette).

Workspace Settings

Alternativ können neue Startkonfigurationen über den Eintrag "Config hinzufügen (Arbeitsbereich)" im Dropdown-Menü der Startkonfiguration hinzugefügt werden.

Add Config

Eine zusammengesetzte Startkonfiguration kann auf einzelne Startkonfigurationen anhand ihres Namens verweisen, solange die Namen im Arbeitsbereich eindeutig sind, zum Beispiel

  "compounds": [{
      "name": "Launch Server & Client",
      "configurations": [
        "Launch Server",
        "Launch Client"
      ]
  }]

Wenn die Namen der einzelnen Startkonfigurationen nicht eindeutig sind, kann der qualifizierende Ordner mit einer ausführlicheren "ordner"-Syntax angegeben werden.

  "compounds": [{
      "name": "Launch Server & Client",
      "configurations": [
        "Launch Server",
        {
          "folder": "Web Client",
          "name": "Launch Client"
        },
        {
          "folder": "Desktop Client",
          "name": "Launch Client"
        }
      ]
  }]

Zusätzlich zu compounds kann der Abschnitt launch der Arbeitsbereichskonfigurationsdatei auch reguläre Startkonfigurationen enthalten. Stellen Sie sicher, dass alle verwendeten Variablen explizit einem bestimmten Ordner zugeordnet sind, da sie andernfalls für den Arbeitsbereich ungültig sind. Weitere Details zu explizit zugeordneten Variablen finden Sie in der Variablenreferenz.

Hier ist ein Beispiel für eine Startkonfiguration, bei der sich das Programm in einem Ordner "Programm" befindet und alle Dateien aus einem Ordner "Bibliothek" beim schrittweisen Ausführen übersprungen werden sollen.

"launch": {
  "configurations": [{
      "type": "node",
      "request": "launch",
      "name": "Launch test",
      "program": "${workspaceFolder:Program}/test.js",
      "skipFiles": [
        "${workspaceFolder:Library}/out/**/*.js"
      ]
  }]
}

Aufgaben

Ähnlich wie VS Code nach Debugkonfigurationen sucht, versucht VS Code auch, Tasks aus Gulp-, Grunt-, NPM- und TypeScript-Projektdaten aus allen Ordnern eines Arbeitsbereichs automatisch zu erkennen und sucht auch nach Tasks, die in tasks.json-Dateien definiert sind. Der Speicherort der Tasks wird durch ein Ordnernamens-Suffix angegeben. Beachten Sie, dass in tasks.json definierte Tasks Version 2.0.0 haben müssen.

tasks dropdown

Aus dem oben genannten Beispiel des TSLint-Erweiterungs- Arbeitsbereichs können Sie ersehen, dass es zwei konfigurierte Tasks aus tasks.json-Dateien in den Ordnern tslint und tslint-tests sowie zahlreiche automatisch erkannte NPM- und TypeScript-Compiler-erkannte Tasks gibt.

Aufgabenkonfiguration des Arbeitsbereichs

Arbeitsbereichsbezogene Aufgaben befinden sich im Abschnitt "tasks" der Arbeitsbereichskonfigurationsdatei (Arbeitsbereiche: Arbeitsbereichskonfigurationsdatei öffnen in der Befehlspalette). Nur Aufgaben vom Typ "shell" und "process" können in der Arbeitsbereichskonfigurationsdatei definiert werden.

Quellcodeverwaltung

Bei Arbeitsbereichen mit mehreren Stammordnern gibt es einen Abschnitt QUELLCODE-ANBIETER, der Ihnen einen Überblick gibt, wenn Sie mehrere aktive Repositories haben. Diese können von verschiedenen SCM-Anbietern bereitgestellt werden; Sie können beispielsweise Git-Repositories nebeneinander mit Azure DevOps Server-Arbeitsbereichen haben. Wenn Sie Repositories in dieser Ansicht auswählen, sehen Sie die Quellcode-Details darunter.

multiple scm providers

Sie können Strg+Klick oder Umschalt+Klick verwenden, um mehrere Repositories auszuwählen. Ihre Details werden als separate Bereiche darunter angezeigt.

Erweiterungen

Wenn Sie Erweiterungsautor sind, können Sie unsere Anleitung Adopting Multi Root Workspace APIs lesen, um mehr über die VS Code-APIs für Arbeitsbereiche mit mehreren Stammordnern zu erfahren und wie Sie Ihre Erweiterung über mehrere Ordner hinweg gut funktionieren lassen.

Unten sehen Sie einige der beliebten Erweiterungen, die die APIs für Arbeitsbereiche mit mehreren Stammordnern übernommen haben.

Hinweis: Wenn eine Erweiterung noch keine Unterstützung für mehrere Ordner bietet, funktioniert sie trotzdem im ersten Ordner Ihres Arbeitsbereichs mit mehreren Stammordnern.

Erweiterungsempfehlungen

VS Code unterstützt Erweiterungsempfehlungen auf Ordner-Ebene über die extensions.json-Dateien im .vscode-Unterordner des Ordners. Sie können auch globale Arbeitsbereichs-Erweiterungsempfehlungen bereitstellen, indem Sie sie Ihrer .code-workspace-Datei hinzufügen. Sie können den Befehl Erweiterungen: Empfohlene Erweiterungen konfigurieren (Arbeitsbereichsordner) verwenden, um Ihre Arbeitsbereichsdatei zu öffnen und Erweiterungsbezeichner ({publisherName}.{extensionName}) zum Array extensions.recommendations hinzuzufügen.

{
  "folders": [
    {
      "path": "vscode"
    },
    {
      "path": "vscode-docs"
    }
  ],
  "extensions": {
    "recommendations": ["eg2.tslint", "dbaeumer.vscode-eslint", "esbenp.prettier-vscode"]
  }
}

Nächste Schritte

  • Was ist ein VS Code-Arbeitsbereich? - Mehr über Arbeitsbereiche mit einem oder mehreren Stammordnern.
  • Debugging - Erfahren Sie, wie Sie das Debugging für Ihre Anwendung einrichten.
  • Aufgaben - Aufgaben ermöglichen es Ihnen, externe Tools wie Compiler innerhalb von VS Code auszuführen.

Häufig gestellte Fragen

Wie kann ich wieder mit einem einzelnen Projektordner arbeiten?

Sie können entweder den Arbeitsbereich schließen und den Ordner direkt öffnen oder den Ordner aus dem Arbeitsbereich entfernen.

Was muss ich als Erweiterungsautor tun?

Siehe unsere Anleitung Adopting Multi Root Workspace APIs. Die meisten Erweiterungen können Arbeitsbereiche mit mehreren Stammordnern problemlos unterstützen.

© . This site is unofficial and not affiliated with Microsoft.