Freigeben über


Visual Studio-Shell

Die Visual Studio-Shell ist der primäre Agent der Integration in Visual Studio. Die Shell bietet erforderliche Funktionen, um VSPackages für gemeinsame Dienste freizugeben. Da das Architekturziel von Visual Studio darin besteht, die primäre Funktionalität in den VSPackages zu übertragen, ist die Shell ein Framework, um grundlegende Funktionen bereitzustellen und die übergreifende Kommunikation zwischen den VSPackage-Komponenten zu unterstützen.

Shell-Verantwortlichkeiten

Die Shell hat folgende Hauptaufgaben:

  • Unterstützen (über COM-Schnittstellen) grundlegende Elemente der Benutzeroberfläche. Dazu gehören Standardmenüs und Symbolleisten, Dokumentfensterframes oder MDI-untergeordnete Fenster (Multi-Document Interface) sowie Toolfensterframes und Andockunterstützung.

  • Verwalten einer laufenden Liste aller derzeit geöffneten Dokumente in einer ausgeführten Dokumenttabelle (RDT), um die Persistenz von Dokumenten zu koordinieren und sicherzustellen, dass ein Dokument nicht auf mehrere Arten oder auf inkompatible Weise geöffnet werden kann.

  • Unterstützung der Befehlsrouting- und Befehlsbehandlungsschnittstelle, IOleCommandTarget.

  • Laden von VSPackages zu geeigneten Zeiten. Das Verzögerte Laden eines VSPackage-Pakets ist erforderlich, um die Leistung der Shell zu verbessern.

  • Verwalten bestimmter gemeinsamer Dienste, wie SVsShell, das grundlegende Shellfunktionen bereitstellt, und SVsUIShell, das grundlegende Fensterfunktionen liefert.

  • Verwalten der Lösungsdateien (.sln). Lösungen enthalten Gruppen verwandter Projekte, ähnlich wie Arbeitsbereichsdateien (DSW) in Visual C++ 6.0.

  • Nachverfolgung von shellweiter Auswahl, von Kontext und von Währung. Die Shell verfolgt die folgenden Typen von Elementen nach:

    • Das aktuelle Projekt

    • Das aktuelle Projektelement oder die Aktuelle Element-ID IVsHierarchy

    • Die aktuelle Auswahl für das Eigenschaftenfenster oder SelectionContainer

    • Die UI-Kontext-IDs oder CmdUIGuids, die die Sichtbarkeit von Befehlen, Menüs und Symbolleisten steuern

    • Die aktuell aktiven Elemente wie das aktive Fenster, das Dokument und der Rückgängig-Manager

    • Die Attribute des Benutzerkontexts, die dynamische Hilfe unterstützen

    Die Shell vermittelt auch die Kommunikation zwischen installierten VSPackages und aktuellen Diensten. Sie unterstützt die Kernfeatures der Shell und stellt sie allen in Visual Studio integrierten VSPackages zur Verfügung. Zu diesen Kernfunktionen gehören die folgenden Elemente:

  • Info-Dialogfeld und Begrüßungsbildschirm

  • Dialogfelder "Neues hinzufügen" und "Vorhandenes Element hinzufügen"

  • Fenster "Klassenansicht" und "Objektkatalog"

  • Dialogfeld "Verweise "

  • Dokumentgliederungsfenster

  • Dynamisches Hilfefenster

  • Suchen und Ersetzen

  • Dialogfelder "Projekt öffnen" und " Datei öffnen " im Menü " Neu "

  • Dialogfeld "Optionen" im Menü "Extras"

  • Eigenschaften-Fenster

  • Projektmappen-Explorer

  • Aufgabenlistenfenster

  • Werkzeugkasten