Freigeben über


Erste Schritte mit Sprachdienst- und Editorerweiterungen

Sie können Editorerweiterungen verwenden, um Sprachdienstfeatures wie Klammern, Klammernabgleich, IntelliSense und Glühbirnen zu Ihrer eigenen Programmiersprache oder einem beliebigen Inhaltstyp hinzuzufügen. Sie können auch die Darstellung und das Verhalten des Visual Studio-Editors anpassen, z. B. Textfarbe, Ränder, Schmücken und andere visuelle Elemente. Sie können auch ihren eigenen Inhaltstyp definieren und das Aussehen und Verhalten der Textansichten angeben, in denen Der Inhalt angezeigt wird.

Um mit dem Schreiben von Editorerweiterungen zu beginnen, verwenden Sie die Editorprojektvorlagen, die als Teil des Visual Studio SDK installiert sind. Das Visual Studio SDK ist eine herunterladbare Gruppe von Tools, die das Entwickeln von Visual Studio-Erweiterungen vereinfachen, entweder mithilfe von VSPackages oder mithilfe des Managed Extensibility Framework (MEF).

Hinweis

Weitere Informationen zum Visual Studio SDK finden Sie unter Visual Studio SDK.

Es wird empfohlen, sich mit den folgenden Konzepten und Technologien vertraut zu machen, bevor Sie eigene Editorerweiterungen schreiben.

Die Windows Presentation Foundation (WPF)- und Editorerweiterungen

Die Visual Studio-Editor-Benutzeroberfläche (UI) wird mithilfe von Windows Presentation Foundation (WPF) implementiert. WPF bietet eine umfassende visuelle Erfahrung und ein konsistentes Programmiermodell, das die visuellen Aspekte des Codes von der Geschäftslogik trennt. Sie können viele WPF-Elemente und -Features verwenden, wenn Sie Editorerweiterungen erstellen. Weitere Informationen finden Sie unter Windows Presentation Foundation.

Die Erweiterungen für verwaltete Erweiterbarkeit (Managed Extensibility Framework, MEF) und Editor

Der Visual Studio-Editor verwendet das Managed Extensibility Framework (MEF), um seine Komponenten und Erweiterungen zu verwalten. Mit dem MEF können Entwickler auch einfacher Erweiterungen für eine Hostanwendung wie Visual Studio erstellen. In diesem Rahmen definieren Sie eine Erweiterung gemäß einem MEF-Vertrag und exportieren sie als MEF-Komponententeil. Die Hostanwendung verwaltet die Komponententeile, indem sie gefunden, registriert und sichergestellt wird, dass sie auf den richtigen Kontext angewendet werden.

Hinweis

Weitere Informationen zum MEF im Editor finden Sie unter Managed Extensibility Framework im Editor.

Erweiterungspunkte und Erweiterungen des Visual Studio-Editors

Editor-Erweiterungspunkte sind MEF-Komponententeile, die Sie anpassen und erweitern können. In einigen Fällen erweitern Sie den Erweiterungspunkt, indem Sie eine Schnittstelle implementieren und zusammen mit den richtigen Metadaten exportieren. In anderen Fällen deklarieren Sie einfach eine Erweiterung und exportieren sie als bestimmten Typ.

Im Folgenden sind einige der grundlegenden Arten von Editorerweiterungen aufgeführt:

Bereitstellen von Editorerweiterungen

In Visual Studio stellen Sie Editorerweiterungen bereit, indem Sie der Lösung eine Metadatendatei namens "source.extension.vsixmanifest " hinzufügen, die Lösung erstellen und dann eine Kopie der Binärdateien und des Manifests in einem Ordner hinzufügen, der visual Studio bekannt ist. Die Manifestdatei definiert die grundlegenden Fakten zur Erweiterung (z. B. Name, Autor, Version und Inhaltstyp). Weitere Informationen zur VSIX-Manifestdatei und zum Bereitstellen von Erweiterungen finden Sie unter Ship Visual Studio extensions.

Wenn Sie eine Erweiterung auf einem Computer installieren, schließen Sie die Binärdateien und das Manifest in einen Unterordner des Ordners ein, der visual Studio bekannt ist.

Warnung

Sie müssen sich keine Gedanken über die Details von Manifesten und Bereitstellungsspeicherorten machen, wenn Sie eine der Editorerweiterungsvorlagen verwenden, die in Visual Studio enthalten sind. Die Vorlagen enthalten alles, was zum Registrieren und Bereitstellen einer Erweiterung erforderlich ist.

Ausführen von Erweiterungen in der experimentellen Instanz

Sie können Ihre Arbeitsversion von Visual Studio isolieren, während Sie eine Erweiterung entwickeln, indem Sie sie im folgenden experimentellen Ordner (unter Windows Vista und Windows 7) bereitstellen:

{%LOCALAPPDATA%}\VisualStudio\10.0Exp\Extensions\{Company}\{ExtensionID}

Dabei ist %LOCALAPPDATA% der Name des angemeldeten Benutzers, "Company " der Name des Unternehmens, das die Erweiterung besitzt, und ExtensionID ist die ID der Erweiterung.

Wenn Sie eine Erweiterung an dem experimentellen Speicherort bereitstellen, wird sie im Debugmodus ausgeführt. Eine zweite Instanz von Visual Studio wird gestartet und heißt "Microsoft Visual Studio - Experimental Instance".

Verwalten von Erweiterungen

Erweiterungen für Visual Studio werden in Erweiterungen und Updates (im Menü "Extras ") aufgeführt. Wenn Sie eine Erweiterung in der experimentellen Instanz testen, wird sie in Erweiterungen und Updates in der experimentellen Instanz aufgeführt, aber nicht in der Entwicklungsinstanz aufgeführt.

Weitere Informationen finden Sie unter Suchen und Verwenden von Visual Studio-Erweiterungen.

Verwenden von Vorlagen zum Erstellen von Editorerweiterungen

Sie können Editorvorlagen verwenden, um MEF-Erweiterungen zu erstellen, die Klassifizierer, Schmücken und Seitenränder anpassen. Es gibt Vorlagen für C#- und Visual Basic-Projekte. Weitere Informationen finden Sie unter Erstellen einer Erweiterung mit einer Editorelementvorlage.

Sie können auch die VSIX-Projektvorlage verwenden, um Erweiterungen zu erstellen. Diese Vorlage enthält nur die Elemente, die zum Bereitstellen einer beliebigen Erweiterung erforderlich sind, und enthalten die Datei "source.extension.vsixmanifest ", die erforderlichen Assemblyverweise und eine Projektdatei, die die Buildaufgaben enthält, mit denen Sie die Erweiterung bereitstellen können. Weitere Informationen finden Sie unter VSIX-Projektvorlage.

Sie können auch Editor-MEF-Komponenten aus einer Visual Studio-Paketerweiterung erstellen. Ausführliche Informationen finden Sie in den folgenden exemplarischen Vorgehensweisen: