Freigeben über


Verteilen von Codeausschnitten als Visual Studio-Erweiterung

Sie können die Codeausschnitte Ihren Freunden senden, und diese können die Ausschnitte mithilfe des Codeausschnitt-Managers auf ihren Computern installieren. Wenn Sie jedoch viele Ausschnitte verteilen möchten oder eine breitere Verteilung erforderlich ist, können Sie die Ausschnittdatei in eine Visual Studio-Extension einschließen. Visual Studio-Benutzer können die Extension anschließend installieren, um an die Codeausschnitte zu gelangen.

Voraussetzungen

Installieren Sie die Workload Visual Studio-Extensionsentwicklung, um Zugriff auf die VSIX-Projekt-Projektvorlagen zu erhalten.

Visual Studio-Extensionentwicklung-Workload

Einrichten der Erweiterungsverzeichnisstruktur

In diesem Verfahren verwenden Sie den „Hallo Welt“-Codeausschnitt aus Exemplarische Vorgehensweise: Erstellen eines Codeausschnitts. Dieser Artikel enthält den XML-Code des Codeausschnitts, Sie brauchen also nicht zurückzugehen und einen Codeausschnitt zu erstellen.

  1. Erstellen Sie ein neues Projekt aus der Vorlage Leeres VSIX-Projekt, und nennen Sie das Projekt TestSnippet.

  2. Fügen Sie im TestSnippet-Projekt eine neue XML-Datei hinzu, und benennen Sie sie VBCodeSnippet.snippet (.snippet ist die neue Dateierweiterung). Ersetzen Sie den Inhalt durch folgenden XML-Code:

    <?xml version="1.0" encoding="utf-8"?>
    <CodeSnippets
        xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
      <CodeSnippet Format="1.0.0">
        <Header>
          <Title>Hello World VB</Title>
          <Shortcut>HelloWorld</Shortcut>
          <Description>Inserts code</Description>
          <Author>MSIT</Author>
          <SnippetTypes>
            <SnippetType>Expansion</SnippetType>
            <SnippetType>SurroundsWith</SnippetType>
          </SnippetTypes>
        </Header>
        <Snippet>
          <Code Language="VB">
            <![CDATA[Console.WriteLine("Hello, World!")]]>
          </Code>
        </Snippet>
      </CodeSnippet>
    </CodeSnippets>
    
  3. Wählen Sie im Projektmappen-Explorer den Projektknoten aus, und fügen Sie einen Ordner mit dem Namen hinzu, den der Ausschnitt im Codeausschnitt-Manager aufweisen soll. In diesem Fall sollte der Name HelloWorldVB lauten.

  4. Verschieben Sie die SNIPPET-Datei in den Ordner HelloWorldVB.

  5. Klicken Sie im Projektmappen-Explorer auf die SNIPPET-Datei, und stellen Sie sicher, dass im Fenster Eigenschaften für die Eigenschaft Buildvorgang die Einstellung Inhalt, für die Eigenschaft In Ausgabeverzeichnis kopieren die Einstellung Immer kopieren und für die Eigenschaft Include in VSIX (In VSIX einbeziehen) die Einstellung TRUE ausgewählt ist.

Hinzufügen der PKGDEF-Datei

  1. Fügen Sie dem Ordner HelloWorldVB eine Textdatei hinzu, und nennen Sie sie HelloWorldVB.pkgdef. Diese Datei wird verwendet, um der Registrierung bestimmte Schlüssel hinzufügen. Weitere Informationen finden Sie unter Anzeigen der Registrierung für den Ausschnitt (optional)..

  2. Fügen Sie der Datei die folgenden Zeilen hinzu.

    // Visual Basic
    [$RootKey$\Languages\CodeExpansions\Basic\Paths]
    "HelloWorldVB"="$PackageFolder$"
    

    Wenn Sie diesen Schlüssel betrachten, sehen Sie, wie Sie andere Sprachen als Visual Basic angeben.

  3. Wählen Sie im Projektmappen-Explorer die PKGDEF-Datei aus, und stellen Sie im Fenster Eigenschaften Folgendes sicher:

    • Buildvorgang ist auf Inhalt festgelegt
    • In Ausgabeverzeichnis kopieren ist auf Immer kopieren festgelegt
    • Include in VSIX (In VSIX einbeziehen) ist auf TRUE festgelegt
  4. Fügen Sie dem VSIX-Manifest die PKGDEF-Datei als Ressource hinzu. Wechseln Sie in der Datei source.extension.vsixmanifest zur Registerkarte Objekte, und klicken Sie auf Neu.

  5. Legen Sie im Dialogfeld Neue Anlage hinzufügen für Typ die Einstellung Microsoft.VisualStudio.VsPackage fest, für Quelle die Einstellung Datei im Dateisystem und für Pfad die Einstellung HelloWorldVB.pkgdef (sollte in der Dropdownliste angezeigt werden). Wählen Sie OK aus, um diese neue Ressource zu speichern.

Registrieren des Codeausschnitts

  1. Wechseln Sie zu Extras>Codeausschnitt-Manager und wählen Sie für Sprache die Einstellung Basic aus.

  2. Wählen Sie Hinzufügen... aus, navigieren Sie zum Ordner HelloWorldVB Ihres Projektmappenverzeichnisses und wählen Sie Ordner auswählen aus.

  3. HelloWorldVB ist jetzt einer der Codeausschnittordner. Öffnen Sie den Ordner, um den HelloWorldVB-Codeausschnitt anzuzeigen. Wählen Sie OK aus, um diesen neu hinzugefügten Ordner zu speichern.

Testen des Ausschnitts

Jetzt können Sie sicherstellen, dass der Codeausschnitt in der experimentellen Instanz von Visual Studio funktioniert. Die experimentelle Instanz ist eine zweite Kopie von Visual Studio, die unabhängig von der Instanz ist, die Sie zum Schreiben von Code verwenden. So können Sie ohne Auswirkungen auf Ihre Entwicklungsumgebung an einer Erweiterung arbeiten.

  1. Erstellen Sie das Projekt, und starten Sie das Debugging.

    Eine zweite Instanz von Visual Studio wird geöffnet.

  2. Speichern Sie den Ausschnitt. Öffnen Sie in der experimentellen Instanz ein Visual Basic-Projekt, und öffnen Sie dann eine der Codedateien. Platzieren Sie den Cursor an einer beliebigen Stelle im Code, klicken Sie mit der rechten Maustaste, und wählen Sie im Kontextmenü Codeausschnitt und dann Ausschnitt einfügen.

  3. Doppelklicken Sie auf den Ordner HelloWorldVB. Es sollte ein Popupfenster Ausschnitt einfügen: HelloWorldVB > mit der Dropdownliste HelloWorldVB angezeigt werden. Doppelklicken Sie auf die Dropdownliste HelloWorldVB.

    Die folgende Zeile wird an die Codedatei angefügt:

    Console.WriteLine("Hello, World!")
    

Anzeigen der Registrierung für den Ausschnitt (Optional)

Die .pkgdef-Datei wird verwendet, um der Registrierung bestimmte Schlüssel hinzufügen. Wenn Sie die Registrierungsschlüssel in der privaten Registrierungsstruktur anzeigen möchten, nachdem Sie den Ausschnitt registriert haben, können Sie diese unter dem folgenden Unterschlüssel finden:

Visual Studio 2022: HKEY_USERS\IsolatedHiveName\Software\Microsoft\VisualStudio\17.0_configID\Languages\CodeExpansions\Basic\Paths

Visual Studio 2019: HKEY_USERS\IsolatedHiveName\Software\Microsoft\VisualStudio\16.0_configID\Languages\CodeExpansions\Basic\Paths

Um die Registrierungsschlüssel an diesem Speicherort anzuzeigen, schließen Sie zuerst Visual Studio, öffnen Sie den Registrierungs-Editor, und laden Sie dann die private Registrierungsstruktur in HKEY_USERS.

Wichtig

Wenn Sie die Registrierung überprüfen, dann stellen Sie sicher, dass Sie die private Registrierungsstruktur entladen, bevor Sie Visual Studio starten.

Die Registrierungsschlüssel können beispielsweise wie hier dargestellt angezeigt werden.

Screenshot: Registrierungsschlüssel für Codeausschnitte.