Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In dieser exemplarischen Vorgehensweise wird gezeigt, wie Sie eine Erweiterung mit einem Menübefehl erstellen, der Notepad startet.
Erstellen eines Menübefehls
Erstellen Sie ein VSIX-Projekt mit dem Namen "FirstMenuCommand". Sie finden die VSIX-Projektvorlage im Dialogfeld "Neues Projekt ", indem Sie nach "vsix" suchen.
Wenn das Projekt geöffnet wird, fügen Sie eine benutzerdefinierte Befehlselementvorlage mit dem Namen "FirstCommand" hinzu. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf den Projektknoten, und wählen Sie "Neues Element> aus. Wechseln Sie im Dialogfeld "Neues Element hinzufügen" zurErweiterbarkeit von >, und wählen Sie "Befehl" aus. Ändern Sie im Feld "Name " unten im Fenster den Befehlsdateinamen in FirstCommand.cs.
Erstellen Sie das Projekt, und starten Sie das Debuggen.
Die experimentelle Instanz von Visual Studio wird angezeigt. Weitere Informationen zur experimentellen Instanz finden Sie in der experimentellen Instanz.
Öffnen Sie in der experimentellen Instanz das Fenster "Erweiterungen>verwalten ". Hier sollte die FirstMenuCommand-Erweiterung angezeigt werden. (Wenn Sie "Erweiterungen verwalten" in Ihrer Arbeitsinstanz von Visual Studio öffnen, wird "FirstMenuCommand" nicht angezeigt.
Wechseln Sie nun in der experimentellen Instanz zum Menü "Extras ". Der Befehl "Invoke FirstCommand " sollte angezeigt werden. An diesem Punkt öffnet der Befehl ein Meldungsfeld mit dem Hinweis "FirstCommand Inside FirstMenuCommand.FirstCommand.MenuItemCallback()". Im nächsten Abschnitt erfahren Sie, wie man den Editor tatsächlich mit diesem Befehl startet.
Ändern des Menübefehlshandlers
Nun aktualisieren wir den Befehlshandler, um den Editor zu starten.
Beenden Sie das Debuggen, und kehren Sie zu Ihrer Arbeitsinstanz von Visual Studio zurück. Öffnen Sie die datei FirstCommand.cs , und fügen Sie die folgende using-Anweisung hinzu:
using System.Diagnostics;Suchen Sie den privaten FirstCommand-Konstruktor. Hier wird der Befehl an den Befehlsdienst angeschlossen, und der Befehlshandler wird spezifiziert. Ändern Sie den Namen des Befehlshandlers wie folgt in StartNotepad:
private FirstCommand(AsyncPackage package, OleMenuCommandService commandService) { this.package = package ?? throw new ArgumentNullException(nameof(package)); commandService = commandService ?? throw new ArgumentNullException(nameof(commandService)); CommandID menuCommandID = new CommandID(CommandSet, CommandId); // Change to StartNotepad handler. MenuCommand menuItem = new MenuCommand(this.StartNotepad, menuCommandID); commandService.AddCommand(menuItem); }Entfernen Sie die
ExecuteMethode und fügen Sie eineStartNotepadMethode hinzu, die lediglich Notepad startet.private void StartNotepad(object sender, EventArgs e) { ThreadHelper.ThrowIfNotOnUIThread(); Process proc = new Process(); proc.StartInfo.FileName = "notepad.exe"; proc.Start(); }Probieren Sie es jetzt aus. Wenn Sie mit dem Debuggen des Projekts beginnen und auf Tools>Invoke FirstCommand klicken, sollte eine Instanz von Editor angezeigt werden.
Sie können eine Instanz der Process Klasse verwenden, um beliebige ausführbare Dateien auszuführen, nicht nur Notepad. Beispielsweise probieren Sie es mit
calc.exe.
Bereinigen der experimentellen Umgebung
Wenn Sie mehrere Erweiterungen entwickeln oder einfach nur Ergebnisse mit unterschiedlichen Versionen Ihres Erweiterungscodes untersuchen, funktioniert Ihre experimentelle Umgebung möglicherweise nicht mehr wie erwartet. In diesem Fall sollten Sie das Reset-Skript ausführen. Es wird als "Reset der Visual Studio Experimentalinstanz" bezeichnet und ist Teil des Visual Studio SDK. Dieses Skript entfernt alle Verweise auf Ihre Erweiterungen aus der experimentellen Umgebung, sodass Sie von Grund auf neu beginnen können.
Sie können auf eine von zwei Arten zu diesem Skript gelangen:
Auf dem Desktop finden Sie Visual Studio Experimental-Instanz zurücksetzen.
Führen Sie in der Befehlszeile den BefehlCreateExpInstance.exe aus. Sie befindet sich im Visual Studio-Installationsordner unter "VSSDK\Common\Tools\Bin". Sie können den vollständigen Pfad erstellen und den vollständigen Pfad in Anführungszeichen setzen, um ihn aufzurufen. Wenn Beispielsweise Visual Studio in C:\Program Files\Microsoft Visual Studio\2022\Community installiert ist, lautet der Befehl:
"C:\Program Files\Microsoft Visual Studio\2022\Community\CreateExpInstance.exe" /Reset /VSInstance=<version> /RootSuffix=Exp && PAUSE
Auf dem Desktop finden Sie Visual Studio Experimental-Instanz zurücksetzen.
Führen Sie in der Befehlszeile den BefehlCreateExpInstance.exe aus. Sie befindet sich im Visual Studio-Installationsordner unter "VSSDK\Common\Tools\Bin". Sie können den vollständigen Pfad erstellen und den vollständigen Pfad in Anführungszeichen setzen, um ihn aufzurufen. Wenn Beispielsweise Visual Studio in C:\Programme\Microsoft Visual Studio\18\Community installiert ist, lautet der Befehl:
"C:\Program Files\Microsoft Visual Studio\18\Community\CreateExpInstance.exe" /Reset /VSInstance=<version> /RootSuffix=Exp && PAUSE
Stellen Sie Ihre Erweiterung bereit
Da Ihre Toolerweiterung nun wie gewünscht ausgeführt wird, ist es an der Zeit, sie mit Ihren Freunden und Kollegen zu teilen. Das ist einfach, solange Visual Studio 2015 installiert ist. Alles, was Sie tun müssen, ist das Senden der .vsix-Datei , die Sie erstellt haben. (Achten Sie darauf, sie im Releasemodus zu erstellen.)
Sie finden die .vsix-Datei für diese Erweiterung im FirstMenuCommand-bin-Verzeichnis. Unter der Voraussetzung, dass Sie die Release-Konfiguration erstellt haben, wird sie sich befinden in:
<Codeverzeichnis>\FirstMenuCommand\FirstMenuCommand\bin\Release\FirstMenuCommand.vsix
Um die Erweiterung zu installieren, muss Ihr Freund alle geöffneten Instanzen von Visual Studio schließen und dann auf die VSIX-Datei doppelklicken, wodurch das VSIX-Installationsprogramm angezeigt wird. Die Dateien werden in das Verzeichnis "%LocalAppData%\Microsoft\VisualStudio<version>\Extensions " kopiert.
Wenn Ihr Freund Visual Studio erneut öffnet, findet er die FirstMenuCommand-Erweiterung in Den Tools-Erweiterungen>und -Updates. Sie können auch zu Erweiterungen und Updates wechseln, um die Erweiterung zu deinstallieren oder zu deaktivieren.
Nächste Schritte
Diese exemplarische Vorgehensweise hat Ihnen nur einen kleinen Teil davon gezeigt, was Sie mit einer Visual Studio-Erweiterung tun können. Im Folgenden finden Sie eine kurze Liste mit anderen (relativ einfachen) Aktionen, die Sie mit Visual Studio-Erweiterungen ausführen können:
Mit einem einfachen Menübefehl können Sie viele weitere Aktionen ausführen:
Hinzufügen eines eigenen Symbols: Hinzufügen von Symbolen zu Menübefehlen
Ändern des Texts des Menübefehls: Ändern des Texts eines Menübefehls
Hinzufügen einer Menüverknüpfung zu einem Befehl: Tastenkürzel an Menüeinträge binden
Hinzufügen verschiedener Arten von Befehlen, Menüs und Symbolleisten: Erweitern von Menüs und Befehlen
Hinzufügen von Toolfenstern und Erweitern der integrierten Visual Studio-Toolfenster: Erweitern und Anpassen von Toolfenstern
Hinzufügen von IntelliSense, Codevorschlägen und anderen Features zu vorhandenen Code-Editoren: Erweitern der Editor- und Sprachdienste
Hinzufügen von Optionen und Eigenschaftenseiten und Benutzereinstellungen zu Ihrer Erweiterung: Erweitern von Eigenschaften und Eigenschaftenfenster sowie Erweitern von Benutzereinstellungen und -optionen
Andere Arten von Erweiterungen erfordern etwas mehr Arbeit, z. B. das Erstellen eines neuen Projekttyps (Erweitern von Projekten) oder das Erstellen eines neuen Editortyps (Erstellen von benutzerdefinierten Editoren und Designern).