Innerhalb von Visual Studio SDK
Es gibt viele Möglichkeiten, Visual Studio zu erweitern. Common drei eine sind: Automatisierung VSPackage-Erweiterungen und Erweiterungen des Managed Extensibility Framework (MEF).
Automatisierung wird hauptsächlich verwendet, um wiederkehrende Aufgaben, z. B. mit Makros und Add-Ins zu automatisieren, oder stellen Sie eine Struktur für Benutzereingaben, wenn er mit dem Assistenten.
VSPackage erstellen ist eine leistungsstarke Möglichkeit, Visual Studio zu erweitern. Visual Studio umfasst viele Komponenten, die VSPackages z. B. der Debugger und die vordefinierten Symbolleisten sind. Eine VSPackage-Erweiterung kann viele der Komponenten von Visual Studio, wie der Shells und des Projektsystems zugreifen und diese erweitern.
Das Managed Extensibility Framework (MEF) ist ein Erweiterbarkeitsmechanismus, die zum ersten Mal in Visual Studio 2010-Editor verwendet wird. MEF ermöglicht es Ihnen, den Editor anzupassen und zu erweitern, ohne ein VSPackage erstellen.
Das Visual Studio-Erweiterbarkeits-Modell
Das Modell wird von Visual Studio-Erweiterbarkeits den verschiedenen Bibliotheken zusammen, die von Extendern Visual Studio-Komponenten zuzugreifen und zu erweitern.
Die erste Ebene des Modells wird in Visual Studio APIs durchsucht, die denselben Satz von Schnittstellen basiert, die Microsoft-Entwickler verwenden, um Visual Studio zu entwickeln. Sie können eine auf Vorlagen basierende Bibliothek verwenden, die die Visual Studio-Bibliothek (VSL) bezeichnet wird, um Erweiterungen in nicht verwaltetem Code zu schreiben.
Wenn Sie eine Erweiterung in verwaltetem Code schreiben, können Sie die Visual Studio-Interopassemblys direkt verwenden, oder Sie können das verwaltete Paketframework (MPF) verwenden. Das verwaltete Paketframework stellt Klassen bereit, die viele der Schnittstellen in Visual Studio API einschließen.
Wenn Sie Visual Studio 2010-Editor erweitern, können Sie den Editor Assemblys sowie die MEF-Assemblys verwenden, die die Verträge definieren, durch die die Erweiterung zu Visual Studio-Editor angekündigt wird.
Weitere Informationen finden Sie unter:
Visual Studio-Dienstleistungen
Ein Dienst stellt einen bestimmten bereit, das von Schnittstellen festgelegt wird, sodass Komponenten verarbeiten. Visual Studio stellt einen Satz von Diensten, die von allen Komponenten verwendet werden können, einschließlich Erweiterungen. Zum Beispiel können Visual Studio-Dienstleistungen die anzuzeigende Toolfenster ausgeblendet wurden, oder dynamisch aktivieren Sie den Zugriff von Benutzeroberfläche-Ereignisse oder Statusleiste. Der Visual Studio 2010-Editor stellt außerdem Dienste, die vom Editor Namespaceerweiterungen importiert werden können.
Weitere Informationen finden Sie unter:
Visual Studio-erweiterbare Komponenten
Die folgenden Komponenten sind die, die von Visual Studio-Erweiterungen meistens benutztesten sind:
Shellbefehle
Menüs und Symbolleisten
Toolfenster
Dokumentfenster
Editoren
Sprachendienste
Projekte
Vorlagen
Befehle
Befehle sind Funktionen, die Aufgaben wie das Drucken eines Dokuments erfüllen und eine Sicht aktualisieren, oder Erstellen einer neuen Datei.
Wenn Sie Visual Studio erweitern, können Sie Erstellungsbefehle und mit der Visual Studio-Shell zu registrieren. Sie können angeben, wie diese Befehle in der IDE, z. B. in einem Menü oder einer Symbolleiste angezeigt. In der Regel wird ein benutzerdefinierter Befehl im Menü Extras und ein Befehl zum Anzeigen eines Toolfensters wird auf dem Weitere Fenster Untermenü des Ansicht Menüs angezeigt werden.
Wenn Sie einen Befehl erstellen, müssen Sie einen Ereignishandler für sie erstellen. Der Ereignishandler bestimmt, wann der Befehl sichtbar oder aktiviert ist, können Sie seinen Text ändern und sicherzustellen, dass der Befehl entsprechend reagiert, wenn er aktiviert ist. In den meisten Instanzen behandelt die IDE mithilfe der Befehle IOleCommandTarget-Schnittstelle verwendet. Befehle in Visual Studio sind bei Beginnen mit dem innersten Kontext des Befehls auf Grundlage der Auswahl und das lokale zum Übergehen äußeren Kontext auf Grundlage der globale Auswahl. Die Befehle, die zum Hauptmenü hinzugefügt werden, sind sofort für die Skripterstellung verfügbar.
Weitere Informationen finden Sie unter Wie VSPackages Benutzeroberflächenelemente Hinzufügen der IDE.
Menüs und Symbolleisten
Menüs und Symbolleisten stellen eine Möglichkeit für Benutzer Aufrufs Befehlen bereit. Menüs sind Zeilen oder Spalten von Befehlen, die in der Regel als einzelne Textelemente oben. B. eines Toolfensters angezeigt werden. Untermenüs sind sekundäre Menüs, die angezeigt werden, wenn ein Benutzer auf Befehle, die einen kleinen Pfeil klicken. Kontextmenüs werden, wenn ein Benutzer auf bestimmte Benutzeroberflächenelemente mit der rechten Maustaste klickt. Einige allgemeine Menünamen sind Datei, Bearbeiten, Ansichtund Fenster. Weitere Informationen finden Sie unter Allgemeine Aufgaben mit Befehlen, Menüs und Symbolleisten.
Symbolleisten sind Zeilen oder Spalten von Schaltflächen und andere Steuerelemente, z Kombinationsfeldern, Listenfeldern und Textfelder. Symbolleisten-Schaltfläche befindet sich normalerweise Symbolbilds, z. B. ein Ordnersymbol für einen Datei öffnen Befehl oder einen Drucker für einen Drucken Befehl. Alle Elemente werden durch Symbolleisten Befehle zugeordnet. Wenn Sie auf eine Symbolleisten-Schaltfläche klicken, wird der zugehörige Befehl ausgeführt wird. Im Falle eines Dropdownfelds wird jedes Element in der Dropdownliste mit einem anderen Befehl zugeordnet. Einige Symbolleisten-Steuerelemente, z. B. ein Aufteilungssteuerelement, sind Kreuzungen. Eine Seite des Steuerelements ist eine Symbolleisten-Schaltfläche und die andere Seite handelt es sich um einen Pfeil nach unten, der mehrere Befehle angezeigt wird, wenn darauf geklickt wird.
Weitere Informationen finden Sie unter
Toolfenster
Toolfenster in der IDE verwendet werden, um Informationen anzuzeigen. Toolbox, Projektmappen-Explorer, Eigenschaften Fenster und Webbrowser sind Beispiele von Toolfenstern.
Toolfenster bieten in der Regel verschiedene Steuerelemente, mit denen der Benutzer interagieren kann. Beispielsweise können das Fenster Eigenschaften die festgelegten Eigenschaften des Benutzers von Objekten, die einen bestimmten Zweck erfüllen. Das Eigenschaften Fenster wird in diesem Sinne, sondern auch Allgemein spezialisiert, da es in vielen verschiedenen Situationen verwendet werden kann. Entsprechend wird das Fenster Ausgabe , weil es sich um textbasierte Ausgabe liefert, aber Allgemein spezialisiert, da viele Subsysteme in Visual Studio es verwenden können, um die Ausgabe zu Visual Studio-Benutzer bereitzustellen.
Betrachten Sie das folgende Bild von Visual Studio, das einige Toolfenster enthält.
Einige Toolfenster werden zusammen auf einen einzelnen Bereich angedockt, der das Fenster Projektmappen-Explorer-Tool anzeigt und die anderen Toolfenster ausgeblendet, sondern zur Verfügung stellen, indem Sie auf Tabstopps. Das Bild zeigt zwei andere Toolfenster, das Fehlerliste und Ausgabe Fenster angezeigt, zusammen angeordnet auf einen einzelnen Bereich.
Außerdem wird gezeigt Hauptdokument der Bereich an, der mehrere Editor-Fenster angezeigt wird. Obwohl Toolfenster in der Regel nur eine Instanz (z. B. können Sie nur ein Projektmappen-Exploreröffnen) verfügen, können Editorfenster mehrere Instanzen haben, von denen jede verwendet wird, um ein separates Dokument bearbeiten, aber von denen im gleichen Bereich angedockt werden. Das Bild zeigt einen Bereich Dokumente, der zwei Editorfenster hat, ein Formular-Designer-Fenster und ein Browserfenster auf, die die Startseite angezeigt wird. Alle Fenster im Bereich Dokumente verfügbar sind, indem Sie auf Registerkarten klicken, aber das Editorfenster, in dem EditorPane.cs-Datei enthält, ist sichtbar und aktiviert.
Wenn Sie Visual Studio erweitern, können Sie Toolfenster erstellen, die Visual Studio-Benutzer mit der Erweiterung interagieren können. Sie können auch erstellen, Editoren verfügen, die Visual Studio-Benutzer Dokumente bearbeiten können. Da die Toolfenster und Editoren in Visual Studio integriert sind, müssen Sie diese Programms nicht ordnungsgemäß angedockt oder auf einer Registerkarte angezeigt. Wenn sie ordnungsgemäß in Visual Studio registriert werden, haben sie automatisch die typischen Funktionen von Toolfenstern und Dokumentfenstern in Visual Studio.
Weitere Informationen finden Sie unter
Dokumentfenster
Ein Dokumentfenster ist ein gestaltetes untergeordnetes Fenster eines MDI-Fensters (Multiple Document Interface). Dokumentfenster in der Regel werden an den Host text-editoren, Formular editoren (auch als Rijndael Designer) oder Bearbeitungssteuerelemente verwendet. Sie können jedoch auch anderen Host funktionale Typen. Das Dialogfeld Neue Datei von Dokumentfenstern enthält Beispiele, in denen Visual Studio bereitgestellt wird.
Die meisten Editoren sind in einer Programmiersprache oder einen Dateityp, z. B. HTML-Seiten oder C++-Dateien, Framesets, Headerdateien bestimmt. Durch die eine Vorlage in Neue Datei Dialogfeld auswählt, wird ein Benutzer dynamisch ein Dokumentfenster für den Editor für den Dateityp erstellt, die mit der Vorlage zugeordnet ist. Ein Dokumentfenster wird auch dann erstellt, wenn ein Benutzer eine vorhandene Datei geöffnet.
Dokumentfenster werden dem MDI-Clientbereich beschränkt. Jede Registerkarte enthält eine Dokumentfenster an erster Stelle und Aktivierreihenfolge wird auf anderen Fenstern verknüpft, die sich im MDI-Bereich geöffnet sind. Das Arbeiten mit der rechten Maustaste auf die Registerkarte eines Dokumentfensters wird ein Kontextmenü angezeigt, das Optionen enthält, den MDI-Bereich in mehrere horizontale oder vertikale Registerkarten Gruppen zu teilen. Das Teilen des MDI-Bereichs können gleichzeitig mehrere Dateien angezeigt werden soll.
Weitere Informationen finden Sie unter
Editoren
Der Visual Studio 2010-Editor ist eine neue Art von Visual Studio-Komponente. Während der neuen Editor auch ein VSPackage ist, ermöglicht es Ihnen, es anzupassen und es für den eigenen Typ des Inhalts mithilfe des Managed Extensibility Framework (MEF) zu verwenden. In vielen Fällen ist es nicht erforderlich, um ein VSPackage erstellen, um den Editor zu erweitern, obwohl, wenn Sie Funktionen von der Shell einschließen möchten (z. B. einen Menübefehl oder eine Tastenkombination), Sie können eine MEF-Erweiterung mit einem VSPackage kombinieren.
Sie können auch einen benutzerdefinierten Editor erstellen, z. B. wenn Sie mit einer Datenbank lesen und schreiben möchten, oder wenn Sie einen Designer verwenden möchten. Sie können einen externen Editor z. B. Microsoft Editor oder auch WordPad verwenden.
Weitere Informationen finden Sie unter Editoren.
Sprachendienste
Wenn Sie den Visual Studio-Editor neue Programmieren von Schlüsselwörtern oder sogar eine neue Programmiersprache unterstützen soll, erstellen Sie einen Sprachdienst. Jeder Sprachdienst implementiert möglicherweise bestimmte Editorfunktionen vollständig, teilweise oder überhaupt nicht. Abhängig davon, wie diese konfiguriert ist, kann der Sprachdienst Syntax-Hervorhebung, die Zuordnung von Klammern, IntelliSense-Unterstützung und andere Features im Editor bereitstellen.
Im Wesentlichen aus einem Sprachdiensts sind ein Parser und ein Scanner. Ein Scanner (oder lexer) weist eine Quelldatei in Elemente, die als Token bekannt ist und ein Parser erstellt die Beziehungen zwischen diesen Token unter. Wenn Sie einen Sprachdienst erstellen, müssen Sie den Parser und der Scanner implementieren, damit Visual Studio die Token und die Grammatik der Sprache verstehen kann.
Sie können die verwalteten oder nicht verwalteten Sprachendienste erstellen.
Weitere Informationen finden Sie unter
Wenn Sie einen Sprachdienst mithilfe von verwaltetem Paketframeworks implementieren.
Exemplarische Vorgehensweise: Wenn Sie einen Sprachdienst (Managed Paketframework)
Projekte
In Visual Studio sind Projekte die Container, die von Entwicklern zum Organisieren und erstellen den Quellcode und andere Ressourcen. Projekte können Sie Quellcode, Verweise auf Webdiensten und Datenbanken und anderen Ressourcen organisieren, erstellen, debuggen und bereitstellen. VSPackages kann vom Visual Studio-Projektsystem Projekttypen, erweitern, indem Sie benutzerdefinierte Tools und - untertypen Projekt bereitstellt.
Projekte werden in Projektmappen ebenfalls erfasst werden, die eine Gruppierung von einem oder mehreren Projekten ist, die zusammenarbeiten, um eine Anwendung zu erstellen. Projekt- und Statusinformationen, die die Projektmappe bezieht, sind in beiden Projektmappendateien, in der textbasierten Projektmappendatei (.sln) und Projektmappen der Datei in binärer benutzeroption (.suo) gespeichert. Diese Dateien sind in den Dateien der Gruppe (.vbg), die in früheren Versionen von Visual Basicverwendet wurden, und zum Arbeitsbereich (.dsw) sowie zu den Dateien der Benutzeroptionen (.opt) vergleichbar, die in früheren Versionen von Visual C++verwendet wurden.
Weitere Informationen finden Sie unter
Projekt- und Elementvorlagen
Visual Studio enthält vordefinierte Projekt- und Projektelementvorlagen ein. Sie können Vorlagen verfügen, Vorlagen oder Abrufen aus der Community integrieren und sie dann auch in Visual Studio. MSDN Code Gallery Ist der Stelle, um Vorlagen und Erweiterungen anzustreben.
Vorlagen enthalten die Projektstruktur und die grundlegenden Dateien, die erforderlich sind, um eine bestimmte Art Anwendung, Klasse, Bibliothek oder Steuerelement zu erstellen. Wenn Sie Software entwickeln möchten, die eine der Vorlagen ähnelt, erstellen Sie ein Projekt, das auf die Vorlage ist, und ändern Sie dann die Dateien in diesem Projekt.
Hinweis
Diese Architektur der Vorlagen wird nicht für Visual C++ Projekte unterstützt.Informationen dazu, wie Visual C++ Projektvorlagen finden Sie unter Entwerfen eines Assistentenerstellt.
Weitere Informationen finden Sie unter Templates Projekt-und hinzu.
Integrierte Shell-und Isolated Shell-Anwendungen
Sie können die Erweiterung in Visual Studio in den integrierten Modus oder im isolierten Modus integrieren.
Verwenden der integrierten Shells ermöglicht es Ihnen, benutzerdefinierte Tools zur Verfügung zu stellen, die die Kunden zusammen mit anderen Visual Studio-Komponenten verwenden können. Die integrierte Shell wird an den Host sprachen- und - software-Tools optimiert.
Verwenden von lokalisierten Shells ermöglicht es Ihnen, benutzerdefinierte Tools erstellen, die in die Visual Studio-Shell nur mit den Visual Studio-Komponenten, die Sie auswählen. Die lokalisierte Shell wird für spezielle Tools optimiert, die den Zugriff auf Visual Studio-Dienstleistungen haben, aber auch eine benutzerdefinierte Darstellung und Branding verfügt.
Weitere Informationen finden Sie unter