Freigeben über


XML-Befehls-Tabelle (entwerfen. Dateien Vsct)

Eine Datei der XML-Befehls (.vsct) beschreibt das Lay-out und die Darstellung eines Befehls Elemente für ein VSPackage. Elemente des Befehls Schaltflächen enthalten, Kombinationsfelder, Menüs, Symbolleisten und Gruppen Befehls Elemente. In diesem Thema wird beschrieben, wie sie tabellendateien XML-Befehls Befehls auswirken und Menüs - Elemente und ihre Erstellung.

Befehle, Menüs, Gruppen und .vsct-Datei

.vsct-Dateien werden, um Befehle, Menüs und Befehlsgruppen organisiert. XML-Tags in der .vsct-Datei jedes dieser Elemente stellen zusammen mit weiteren zugeordneten Elementen wie Befehlsschaltflächen, Bitmaps und der Befehls dar.

Beim Erstellen einer neuen VSPackage erstellen, indem Sie die Visual Studio Paket-Vorlage ausführen, wird die Vorlage eine .vsct-Datei mit den erforderlichen Elemente für einen Menübefehl, ein Toolfenster oder einen benutzerdefinierten Editor, abhängig von der Auswahl. Diese .vsct-Datei kann dann geändert werden, um die Anforderungen bestimmter VSPackages zu erfüllen. Beispiele, wie eine .vsct-Datei finden Sie in den Beispielen in Exemplarische Vorgehensweisen für Befehle, Menüs und Symbolleistenändert.

Um ein neues zu erstellen, Blenden Sie .vsct-Datei finden Gewusst wie: Create a. Vsct-Dateiaus. Sobald erstellen, fügen Sie die XML-Elemente, Attribute und Werte der Datei hinzu, um das Lay-out für Befehle zu beschreiben. Ein ausführliches XML-Schema finden Sie unter VSCT-XML-Schemaverweis.

Unterschiede zwischen .ctc und .vsct-Dateien

Während die Wichtigkeit hinter dem XML-Code in einer .vsct-Datei - Tags, sind die gleichen im, wie die ihre Implementierung, .ctc-Dateiformat veralteten jetzt eine andere Bit ist.

  • Das neue <extern> Tag befindet, wo Sie weitere kompiliert werden sollen, z. B. Dateien, .h-verweisen für die Visual Studio Symbolleiste.

  • Während .vsct-Dateien die /include-Anweisung unterstützen, z. B. .ctc-Dateien Funktionen jedoch auch möglich, ein neues Element <import> . Der Unterschied besteht darin, fügt jedoch alle Informationen in /include <import> nimmt nur in die Namen.

  • Während .ctc-Dateien eine Headerdatei erfordern, in der Sie die Präprozessordirektiven ist nicht für .vsct-Dateien erforderlich. Stattdessen fügen Sie die Direktive in der Symboltabelle in Elementen <Symbol> , die am unteren Rand der .vsct-Datei.

  • .vsct-Datei Tag <Annotation> ein Feature, das es Ihnen ermöglicht, beliebige Informationen einbetten, wie das Hinweise oder auch Bilder.

  • Werte werden als Attribute für das Element gespeichert.

  • Flags für Befehle können einzeln gespeichert oder gestapelt werden. IntelliSense funktioniert jedoch keine Verbindung mit gestapelten Befehls Flags. Weitere Informationen über Befehls Flags finden Sie unter Command Flag-Element.

  • Sie können mehrere Typen, z. B. geteilte Dropdowns angeben, Kombinationsfelder usw.

  • GUID nicht überprüfen.

  • Jedes Benutzeroberflächenelement enthält eine Zeichenfolge, die den Text darstellt, der mit ihm angezeigt wird.

  • Das übergeordnete Element ist optional. Wenn dieser ausgelassen wird, wird der Wert „Gruppen-Unbekanntes“ verwendet.

  • Das Symbol - Argument ist optional.

  • Der Abschnitt Bitmap -- Die gleichen denen eine .ctc-Datei, mit der Ausnahme, dass Sie nun href über einen Dateinamen angeben können, der vom vsct.exe-Compiler zur Kompilierzeit gezogen wird.

  • ResID -- Die alte Bitmapressource ID kann und funktioniert genau wie die noch in .ctc-Dateien.

  • HRef -- eine neue Methode, die es Ihnen ermöglicht, einen Namen für die Bitmapressource anzugeben. Es wird davon ausgegangen, dass alle verwendet werden, das heißt Sie können den verwendeten - Abschnitt angeben. Der Compiler sucht zuerst für lokale Ressourcen für die Datei, und klicken Sie dann auf allen Netto freigaben und alle Ressourcen, die von den /I- definiert sind.

  • Tastenzuordnung -- Sie müssen einen Emulator nicht mehr angeben. Wenn Sie ein angeben, geht der Compiler davon aus, dass der Editor und Emulator gleich sind.

  • Keychord -- abgelegt worden ist. Das neue Format aufweist, Key1 Mod1, Key2, Mod2. Sie können entweder ein Zeichen, Hexadezimal- oder VK-Konstante angeben.

Der neue vsct.exe Compiler kompiliert, und .ctc .vsct-Dateien. Der alte ctc.exe-Compiler erkennt weder jedoch noch kompiliert .vsct-Dateien.

Sie können den vsct.exe-Compiler verwenden, um eine vorhandene .cto-Datei in eine .vsct-Datei zu konvertieren. Weitere Informationen hierzu finden Sie unter Gewusst wie: Create a. Vsct-Datei aus einem vorhandenen. Cto-Datei.

Die .vstc-Datei-Elemente

Die Tabelle besitzt die folgenden Befehle Hierarchie und Elemente:

CommandTable-Element :Hält alle Befehle, Menüs und Gruppen Menü mit einem VSPackage zugeordnet sind.

Extern-Element — Verweise aller externen .h-Dateien, die Sie mit der .vstc-Datei zusammenführen möchten.

Include-Element — Verweise ein zusätzlicher Headerdatei (.h) Dateien, die Sie zusammen mit the.vstc-Datei kompilieren möchten. Eine .vstc-Datei kann .h-Dateien, die Konstanten enthalten, die Befehle Menü gruppiert und Menüs definieren, die die IDE oder ein anderes VSPackage bereitstellt.

Commands-Element :Hält alle einzelnen Befehle dar, die ausgeführt werden können. Jeder Befehl verfügt über die folgenden vier untergeordneten Elemente:

Menus-Element :Hält alle Menüs und Symbolleisten in einem VSPackage dar. Menüs sind Container für Gruppen Befehle.

Groups-Element — stellt alle Gruppen in einem VSPackage. Gruppen sind Auflistungen der einzelnen Befehle.

Buttons-Element :Hält alle Menüelemente und Befehlsschaltflächen in einem VSPackage dar. Schaltflächen sind visuelle Steuerelemente, die Befehlen zugeordnet werden können.

Bitmaps-Element :Hält alle Bitmaps für alle Schaltflächen in einem VSPackage dar. Bitmaps sind Bilder, die neben bzw. den Sie anzeigen Befehlsschaltflächen je nach Kontext.

CommandPlacements-Element — gibt weitere Positionen an, an denen die einzelnen Befehle in Menüs VSPackages positioniert werden sollen.

VisibilityConstraints-Element der angibt, ob ein Befehl jederzeit angezeigt werden oder nur in bestimmten Kontexten, z. B., wenn ein bestimmtes Dialogfeld oder ein Fenster angezeigt wird. Menüs und Befehle, die einen Wert für dieses Element aufweisen, werden nur anzeigen, wenn der angegebene Kontext aktiv ist. Das Standardverhalten besteht darin, den Befehl immer angezeigt werden.

KeyBindings-Element — gibt alle Tastenzuordnungen für die Befehle an. Das bedeutet, dass eine oder mehrere Tastenkombinationen, die gedrückt werden muss, um den Befehl auszuführen, z. B. STRG+S.

UsedCommands-Element — informiert die Visual Studio Umgebung, dass, obwohl der angegebene Befehl von anderem Code implementiert wird, wenn die aktuelle VSPackage ist aktiv, wird die Implementierung des Befehls bereitstellt.

Symbols Element — enthält die Symbolnamen und GUID-ID für alle Befehle im Paket.

. Vsct-Datei-Entwurfs-Richtlinien

Um eine .vsct-Datei erfolgreich zu entwerfen, befolgen Sie diese Richtlinien.

  • Befehle können nur in Gruppen angeordnet werden, können Gruppen nur in Menüs abgelegt werden, und Menüs können nur in Gruppen angeordnet werden. Nur Menüs werden tatsächlich in der IDE angezeigt, Gruppen und Befehle sind nicht möglich.

  • Untermenüs können nicht zu einem Menü direkt zugewiesen werden, sondern müssen einer Gruppe zugewiesen werden, die wiederum in einem Menü zugewiesen wird.

  • Befehle, Untermenüs und Gruppen können mit dem übergeordneten Feld ihrer definierenden Direktive zugewiesen werden Parenting einer Gruppe oder ein Menü.

  • Das Organisieren einer Tabelle Befehls Elemente nur durch die Felder in der Direktive weist eine wesentliche Einschränkung. Die Direktive, die Objekte definieren, können nur ein übergeordnetes Argument verwenden.

  • Befehle wiederverwendend, fordert Gruppen oder Untermenüs die Verwendung von neuen - Direktive eine neue Instanz des Objekts mit seinen eigenen GUID:ID Paaren zu erstellen.

  • Jedes Paar GUID:ID muss eindeutig sein. Der Befehl, der wiederverwendend z. B. auf ein Menü oder einer Symbolleiste auf ein Kontextmenü platziert wurde, wird durch die IOleCommandTarget-Schnittstelle behandelt.

  • Befehle und Untermenüs können auch mehrere Gruppen zugewiesen werden, und können zu mehreren Menüs mit Commands-Elementzugewiesen werden.

. Vsct-Aktenvermerke

Wenn Sie Änderungen an einer .vsct-Datei ändern, nachdem Sie sie kompilieren und in einem systemeigenen Satelliten-DLL platzieren, sollten Sie devenv.exe /setup /nosetupvstemplatesausführen. Das zu VSPackage-Betriebsmittel erzwingt die in der experimentellen erneut zu lesenden Registrierung angegeben werden, und die interne Datenbank, die neu erstellt werden Visual Studio beschreibt.

Während der Entwicklung ist es möglich, dass mehrere VSPackage-Projekte in der experimentellen Registrierungshiven erstellt und registriert werden können, die verwirrende Unordnung in der IDE übergeben können. Um dieses Problem zu beheben, können Sie in der experimentellen Hive auf die Standardeinstellungen zurückzusetzen um alle registrierten VSPackages und alle Änderungen zu entfernen, die sie zur IDE vorgenommen. Um die experimentellen Hive zurückzusetzen, verwenden Sie die vsregex.exe-Tool das dem Visual Studio SDK stammt. Dieses Tool ist Tools \ bin oder \ bin \ Tools x86-Ordner des VisualStudioIntegrations-Ordners (z. B. C:\Program Files\Visual- Studio SDK VisualStudioIntegration \ 2010 \ Tools \ bin \ vsregexe.exe). Führen Sie das Tool aus, indem Sie die Befehlszeile vsregex GetOrig 10.0 Expverwenden, in der 10.0 die Version von Visual Studio ist, die Sie verwenden, und Exp ist das Suffix, das der Version zugewiesen wird, um eine Verbindung mit der experimentellen Registrierungshive unter HKEY_CURRENT_USERzu gelangen.

Denken Sie daran, dass das vsregex.exe-Tool der experimentellen Hiven alle registrierten VSPackages mit Visual StudioInstallation normalerweise nicht entfernt.

Siehe auch

Konzepte

Making Commands Available

Weitere Ressourcen

Command Table Configuration (.ctc) Files

Command Table Format Reference

Allgemeine Aufgaben mit Befehlen, Menüs und Symbolleisten