Freigeben über


Verwenden von Editor-Vorlagen, um Erweiterungen zu erstellen

Sie können Vorlagen verwenden, die im Visual Studio 2010 SDK enthalten sind, um grundlegende Editor erstellen, die auf Erweiterungen mit Klassifizierern, Zusatzelemente und Ränder im Editor auf Hinzufügen.

Vorbereitungsmaßnahmen

Um die Vorlagen für Editor zu verwenden, müssen Sie das Visual Studio 2010 SDK installieren.

Hinweis

Weitere Informationen über das Visual Studio-SDK finden Sie unter Erweitern von Visual Studio Overview.Um herauszufinden finden Sie unter wie das Visual Studio-SDK, auf Visual Studio Extensibility Developer Center der MSDN-Website herunterlädt.

Eine Klassifizierungs-Erweiterung erstellen

Die Editor-Klassifizierungs klassifizierung Editor erstellt eine Vorlage, die Farben der zugehörige Text (in diesem Fall alle) in einer Textdatei.

So erstellen Sie eine Klassifizierungs Namespaceerweiterung über die Vorlage erstellen Editor-Klassifizierungs

  1. Zeigen Sie im Menü Datei klicken Sie auf Neu , und klicken Sie dann auf Neues Projekt. Erweitern Sie im Dialogfeld Neues ProjektVisual C# oder Visual Basic und klicken Sie dann auf Erweiterungen. Wählen Sie im Bereich VorlagenEditorklassifizierer. Im Name Feld Typ TestClassifier. Klicken Sie auf OK.

    Das TestClassifier-Projekt wird geöffnet.

  2. Öffnen Sie die Datei " source.extension.vsixmanifest ", und bearbeiten Sie sie wie folgt:

    • Produktname: TestClassifier

    • Autor: Fabrikam

    • Version: 1.0

    • Beschreibung: Dies ist eine Erweiterung klassifizierungs Test.

    Ändern Sie keinesfalls die ID. Sie wird automatisch generiert.

  3. Der Inhalt Header gibt die Art des Inhalts in diesem Projekt (Projektvorlagen-Verzeichnis, Elementvorlagen-Verzeichnis, Vorlagen-Assistent oder MEF-Komponente, VSPackages, benutzerdefinierten Erweiterungstyp). Ein Projekt kann eine oder mehrere Arten von Inhalt, z. B. ein VSPackage und eine MEF-Komponente enthalten. Diese Erweiterung ist eine MEF-Komponente, und der Inhalt wird in TestClassifier definiert.

  4. Es gibt drei Codedateien wie folgt:

    • TestClassifierType enthält die OrdinaryClassificationType-Klasse.

    • TestClassifierFormat enthält die OrdinaryFormat-Klasse.

    • TestClassifier enthält die OrdinaryClassifier-Klasse und die OrdinaryClassifierProvider-Klasse.

  5. Die OrdinaryClassificationType-Klasse exportiert ClassificationTypeDefinitionund definiert den Text (in diesem Fall alle Text) formatiert werden soll. Diese Klasse wird zusammen mit NameAttributeexportiert, die verwendet wird, um diese Rangfolge zu identifizieren. Weitere Informationen über Klassifizierern, sehen Sie, dass das „Extending Klassifizierungs-Typen Abschnitt“ Klassifizierung und Editor-Erweiterungs-Punkteformatiert.

  6. Die OrdinaryFormat-Klasse erbt von ClassificationFormatDefinitionund definiert die visuellen Effekte, die die Formatierung in diesem Fall eine BlueViolet Schriftfarbe und Underlineerzeugt. Diese Klasse muss als EditorFormatDefinition-Typ exportiert werden. Sie können angeben, ob die Formatierung für den Benutzer sichtbar ist, indem Sie UserVisibleAttributeverwenden, und Sie können die Reihenfolge angeben, in der das Format auf den Text angewendet werden soll, indem Sie OrderAttributeverwendet.

  7. Die OrdinaryClassifier-Klasse implementiert die GetClassificationSpans-Methode, die den Text angibt, der klassifiziert werden soll, indem die „gewöhnliche“ Klassifizierung verwendet wird (in diesem Fall alle Text).

  8. Die OrdinaryClassifierProvider-Klasse erbt von IClassifierProviderund implementiert die GetClassifier-Methode, die die Klassifizierer instanziiert. Diese Klasse wird zusammen mit ContentTypeAttributeexportiert, die die Art des Inhalts angibt (Text, Code und so an) für die Klassifizierung gilt. Er nimmt auch TextViewRoleAttribute, der die Art der Textansicht angibt, die Werte von PredefinedTextViewRoleswerden kann.

  9. Wenn Sie die Projektmappe erstellen, sind Kopien der Assembly und des Manifests in die experimentelle Verzeichnis abgelegt.

  10. Wenn Sie dieses Projekt im Debugger ausführen, wird eine zweite Instanz von Visual Studio instanziiert. Wenn Sie eine Textdatei öffnen, wird der gesamte Text angezeigt, wie mit einem violetten Hintergrund unterstrichen.

Eine TEXT-RELATIVE-Zusatzelement-Erweiterung erstellen

Die Vorlage stellt ein Editor-Text-Zusatzelement TEXT RELATIVE-Zusatzelement erstellt, das alle Instanzen des Texts Signierung „a“ ergänzt, indem ein Feld mit roten Rahmen und verwendet einen blauen Hintergrund verfügt. Es ist TEXT RELATIVE, dass das Feld immer die „a“ - Zeichen überlagert, selbst wenn sie verschoben oder neu formatiert werden.

Um eine Erweiterung zusatzelement Text mithilfe des Editors zu erstellen simsen Sie die Vorlage Zusatzelement

  1. Zeigen Sie im Menü Datei klicken Sie auf Neu , und klicken Sie dann auf Neues Projekt. Erweitern Sie im Dialogfeld Neues ProjektVisual C# oder Visual Basic und klicken Sie dann auf Erweiterungen. Wählen Sie im Bereich VorlagenEditortext-Darstellungselement. Im Name Feld Typ TestTextAdornment. Klicken Sie auf OK.

    Das TestTextAdornment-Projekt wird geöffnet.

  2. Öffnen Sie die Datei " source.extension.vsixmanifest ", und bearbeiten Sie sie wie folgt:

    • Produktname: TestTextAdornment

    • Autor: Fabrikam

    • Version: 1.0

    • Beschreibung: Dies ist eine Erweiterung RELATIVE-Zusatzelement TEXT Test.

    Ändern Sie keinesfalls die ID. Sie wird automatisch generiert.

  3. Der Inhalt Header gibt die Art des Inhalts in diesem Projekt an. Diese Erweiterung ist eine MEF-Komponente, und der Inhalt wird in TestTextAdornment definiert.

  4. Es gibt zwei Codedateien wie folgt:

    • TestTextAdornment enthält die ScarletCharacter-Klasse.

    • TestTextAdornmentFactory enthält die EditorAdornmentFactory-Klasse.

  5. Die ScarletCharacter-Klasse stellt die Funktionen der Benutzeroberfläche des Zusatzelements in seinem Konstruktor und das Ereignis LayoutChanged Suchen aller Vorkommen des Zeichens „a“ in IWpfTextView und dem Hinzufügen des ScarletCharacter-Zusatzelements bereit.

  6. Die EditorAdornmentFactory-Klasse erbt von IWpfTextViewCreationListener und implementiert die TextViewCreated-Methode, indem sie das Zusatzelement instanziiert. Diese Klasse deklariert auch AdornmentLayerDefinition , die dem ScarletCharacter-Zusatzelement entspricht, und es exportiert und OrderAttributezusammen mit NameAttribute, TextViewRoleAttribute.

  7. Wenn Sie die Projektmappe erstellen, sind Kopien der Assembly und des Manifests in die experimentelle Verzeichnis abgelegt.

  8. Wenn Sie dieses Projekt im Debugger ausführen, wird eine zweite Instanz von Visual Studio instanziiert. Wenn Sie eine Textdatei öffnen, werden sämtliche „a“ - Zeichen im Text wie in Rot mit einem blauen Hintergrund skizziert angezeigt.

Eine Viewport-RELATIVE-Zusatzelement-Erweiterung erstellen

Die Vorlage stellt einen Viewport Editor-Viewport-Zusatzelement RELATIVE-Zusatzelement, das ein violettes Feld hinzufügen, das roten Rahmen zur rechten oberen Ecke des Viewports verfügt.

Hinweis

Der Sichtbereich ist der Bereich der Textansicht, die gerade angezeigt wird.

Um einen Viewport zusatzelement Namespaceerweiterung über die Vorlage erstellen Editor-Viewport-Zusatzelement

  1. Zeigen Sie im Menü Datei klicken Sie auf Neu , und klicken Sie dann auf Neues Projekt. Erweitern Sie im Dialogfeld Neues ProjektVisual C# oder Visual Basic und klicken Sie dann auf Erweiterungen. Wählen Sie im Bereich VorlagenEditorviewport-Darstellungselement. Im Name Feld Typ TestViewportAdornment. Klicken Sie auf OK.

    Das TestViewportAdornment-Projekt wird geöffnet.

  2. Öffnen Sie die Datei " source.extension.vsixmanifest ", und bearbeiten Sie sie wie folgt:

    • Produktname: TestViewportAdornment

    • Autor: Fabrikam

    • Version: 1.0

    • Beschreibung: Dies ist eine Erweiterung RELATIVE-Zusatzelement Viewport Test.

    Ändern Sie keinesfalls die ID. Sie wird automatisch generiert.

  3. Der Inhalt Header gibt die Art des Inhalts in diesem Projekt an. Diese Erweiterung ist eine MEF-Komponente, und der Inhalt wird in TestViewportAdornment definiert.

  4. Es gibt zwei Codedateien wie folgt:

    • TestViewportAdornment enthält die PurpleCornerBox-Klasse

    • TestViewportAdornmentFactory enthält die AdornmentFactory-Klasse

  5. Die PurpleCornerBox-Klasse stellt die Benutzeroberflächenfunktionen des Zusatzelements in seinem Konstruktor und behandelt die ViewportHeightChanged und ViewportWidthChanged-Ereignisse, indem sie rechts oben die Ecke des Zusatzelements des Viewports gelöscht und wieder-hinzufügt.

  6. Die AdornmentFactory-Klasse erbt von IWpfTextViewCreationListenerund implementiert die TextViewCreated-Methode, indem sie das Zusatzelement instanziiert. Diese Klasse deklariert auch AdornmentLayerDefinition , die dem PurpleCornerBox-Zusatzelement entspricht, und es exportiert und OrderAttributezusammen mit NameAttribute, TextViewRoleAttribute.

  7. Wenn Sie die Projektmappe erstellen, sind Kopien der Assembly und des Manifests in die experimentelle Verzeichnis abgelegt.

  8. Wenn Sie dieses Projekt im Debugger ausführen, wird eine zweite Instanz von Visual Studio instanziiert. Wenn Sie eine Textdatei öffnen, wird ein violettes Feld mit dem roten Rahmen hat, in der rechten oberen Ecke des Viewports angezeigt.

Eine Rand-Erweiterung erstellen

Die Vorlage erstellt einen grünen Rand Editor-Rand, der angezeigt wird zusammen mit der Begriff „Hello World!“ unterhalb der horizontalen Schiebeleiste.

So erstellen Sie eine Erweiterung Rand Editor-Rand mithilfe der Vorlage erstellen

  1. Zeigen Sie im Menü Datei klicken Sie auf Neu , und klicken Sie dann auf Neues Projekt. Erweitern Sie im Dialogfeld Neues ProjektVisual C# oder Visual Basic und klicken Sie dann auf Erweiterungen. Wählen Sie im Bereich VorlagenEditorrand. Im Name Feld Typ TestMargin. Klicken Sie auf OK.

    Das TestMargin-Projekt wird geöffnet.

  2. Öffnen Sie die Datei " source.extension.vsixmanifest ", und bearbeiten Sie sie wie folgt:

    • Produktname: TestMargin

    • Autor: Fabrikam

    • Version: 1.0

    • Beschreibung: Hierbei handelt es sich um eine Erweiterung Rand des Tests.

    Ändern Sie keinesfalls die ID. Sie wird automatisch generiert.

  3. Der Inhalt Header gibt die Art des Inhalts in diesem Projekt an. Diese Erweiterung ist eine MEF-Komponente, und der Inhalt wird in TestMargin definiert.

  4. Es gibt zwei Codedateien wie folgt:

    • TestMargin enthält die GreenMargin-Klasse.

    • TestMarginFactory enthält die MarginFactory-Klasse.

  5. Die GreenMargin-Klasse erbt von Canvas und implementiert IWpfTextViewMargin. Er stellt der Benutzeroberflächenfunktionen des Rahmens in seinem Konstruktor.

  6. Die MarginFactory-Klasse implementiert IWpfTextViewMarginProvider, und ihre Implementierung der CreateMargin-Methode instanziiert den Rand. Diese Klasse wird zusammen mit NameAttribute, OrderAttribute, MarginContainerAttribute, ContentTypeAttributeund TextViewRoleAttributeexportiert.

  7. Wenn Sie die Projektmappe erstellen, sind Kopien der Assembly und des Manifests in die experimentelle Verzeichnis abgelegt.

  8. Wenn Sie dieses Projekt im Debugger ausführen, wird eine zweite Instanz von Visual Studio instanziiert. Wenn Sie eine Textdatei öffnen, ein grüner Rahmen hat, der das Wort „Hello World!“ erfolgt mit der horizontalen Schiebeleiste angezeigt.

Siehe auch

Konzepte

Editor-Erweiterungs-Punkte