Concevoir le Tableau de commande XML (. fichiers de Vsct)
Un fichier du tableau de commande XML (.vsct) décrit la disposition et l'apparence des éléments de contrôle pour un VSPackage. Les éléments de la commande incluent des boutons, des zones de liste déroulante, des menus, des barres d'outils, et de groupes d'éléments de commande. Cette rubrique décrit les fichiers de mappage de commande XML, leur impact sur les éléments et les menus de commande, et comment les créer.
commandes, menus, groupes, et le fichier de .vsct
les fichiers de .vsct sont organisés autour de commandes, de menus, ainsi que les groupes de commandes. Les balises XML dans le fichier de .vsct représentent chacun de ces éléments, avec d'autres éléments associés tels que des boutons de commande, le positionnement de commande, et des bitmaps.
Lorsque vous créez un VSPackage en exécutant le modèle de package de Visual Studio , le modèle génère un fichier de .vsct avec les éléments nécessaires à une commande de menu, une fenêtre Outil, ou un éditeur personnalisé, selon vos sélections. Ce fichier de .vsct peut ensuite être modifié pour répondre aux demandes d'un VSPackage spécifique. Pour obtenir des exemples de modification d'un fichier de .vsct, consultez les exemples dans Procédures pas - à - pas pour les commandes, de menus, et les barres d'outils.
Pour créer un nouveau, occultez le fichier de .vsct, consultez Comment : Créez un. fichier de Vsct. Une fois créées, vous ajoutez des éléments XML, les attributs, et les valeurs au fichier pour décrire la disposition d'élément de commande. Pour un schéma XML détaillées, consultez Référence du schéma XML VSCT.
différences entre .ctc et fichiers de .vsct
Pendant que la signification derrière les balises XML dans un fichier de .vsct sont identiques à ceux du format de fichier de .ctc déconseillé par maintenant, leur implémentation est un peu différent.
La <extern> balise est l'endroit où vous référencez d'autres fichiers .h à compiler, tels que ceux de la barre d'outils de Visual Studio .
Bien que les fichiers de .vsct prennent en charge l'instruction d' /include , comme le font les fichiers de .ctc, elle comporte également un nouvel élément d'<import> . La différence est, /include applique les informations, mais <import> apporte uniquement les noms.
Bien que les fichiers de .ctc requièrent un fichier d'en-tête dans lequel vous définissez vos directives de préprocesseur, il n'est pas obligatoire pour les fichiers de .vsct. À la place, placez vos directives dans la table de symboles, située dans <Symbol> les éléments, placés en bas du fichier de .vsct.
les fichiers de .vsct comportent une balise d' <Annotation> , qui vous permet d'inclure toutes les informations que vous souhaitez, tels que des notes ou même des images.
Les valeurs sont stockées en tant qu'attributs sur l'élément.
Les balises de commande peuvent être signalées individuellement ou empilées. Intellisense, toutefois, ne fonctionne pas aux balises empilées de commande. Pour plus d'informations sur les indicateurs de commande, consultez CommandFlag, élément.
Vous pouvez spécifier plusieurs types, tels que les déroulements fractionnés, les combos, etc.
GUID ne valident pas.
Chaque élément d'interface a une chaîne qui représente le texte affiché avec lui.
le parent est facultatif. Si omis, la valeur « inconnu de groupe » est utilisée.
L'argument de l'icône est facultatif.
La section de bitmap -- Les mêmes qu'un fichier de .ctc, sauf que vous pouvez à présent spécifier un nom de fichier via le href qui sera récupéré dans l'par le compilateur de vsct.exe au moment de la compilation.
ResID -- l'ancien ID de ressource bitmap peut être utilisé et fonctionne toujours les mêmes que dans les fichiers de .ctc.
HRef -- une nouvelle méthode qui permet de spécifier un nom de fichier de la ressource bitmap. Il suppose que tous utilisés, vous pouvez omettre la section utilisée. Le compilateur recherche d'abord les ressources locales pour le fichier, puis sur tous les et shares, et toutes les ressources définies par le commutateur /I.
Keybinding -- Vous n'avez plus besoin de spécifier un émulateur. Si vous spécifiez un, le compilateur suppose que l'éditeur et l'émulateur sont les mêmes.
Keychord -- a été supprimé. Le nouveau format est Key1, Mod1, Touches, Mod2. Vous pouvez spécifier un caractère, hexadécimal, ou la constante de VK.
Le nouveau compilateur, vsct.exe, compiler .ctc et fichiers de .vsct. Le compilateur ancien de ctc.exe, toutefois, ni ne reconnaît pas compile des fichiers de .vsct.
vous pouvez utiliser le compilateur de vsct.exe pour convertir un fichier existant de .cto dans un fichier de .vsct. Pour plus d'informations à ce sujet, consultez Comment : Créez un. fichier de Vsct d'exister. fichier de CTO.
Les éléments de fichier de .vstc
le tableau de commande a la hiérarchie et les éléments suivants :
CommandTable, élément - représente tous les commandes, groupes de menus, et menus associés au VSPackage.
Extern, élément - références tous les fichiers externes .h que vous souhaitez fusionner avec le fichier de .vstc.
Include, élément - références tout supplémentaire en-tête (.h) fichiers que vous souhaitez compiler avec le fichier de your.vstc. Un fichier de .vstc peut inclure des fichiers .h contenant les constantes qui définissent des commandes, des groupes de menus, et des menus qu'un IDE ou un VSPackage différent fournit.
Commands, élément - représente toutes les commandes différentes qui peuvent être exécutés. Chaque commande possède les quatre éléments enfants suivants :
Menus, élément - représente tous les menus et barres d'outils dans le VSPackage. Les menus sont des conteneurs pour les groupes de commandes.
Groups, élément - représente tous les groupes dans le VSPackage. Les groupes sont des collections différentes commandes.
Buttons, élément - représente tous les boutons de commande et éléments de menu dans le VSPackage. Les boutons sont des contrôles visuels qui peuvent être associés aux commandes.
Bitmaps, élément - représente toutes les bitmaps pour tous les boutons dans le VSPackage. Les bitmaps sont des images en regard de affichez-vous ou sur les boutons de commande, selon le contexte.
CommandPlacements, élément - indique les emplacements supplémentaires où les différentes commandes doivent se trouver dans les menus de votre VSPackage.
VisibilityConstraints, élément - spécifie si une commande s'affiche à tout moment, ou uniquement dans certains cas, comme lorsqu'une boîte de dialogue ou une fenêtre particulière s'affiche. Les menus et les commandes qui ont une valeur de cet élément s'afficheront uniquement lorsque le contexte spécifié est actif. Le comportement par défaut consiste à afficher la commande à tout moment.
KeyBindings, élément - spécifie toutes les combinaisons de touches pour les commandes. Autrement dit, un ou plusieurs combinaisons de touches qui doivent être utilisées sur pour exécuter la commande, comme CTRL+S.
UsedCommands, élément - indique à l'environnement de Visual Studio que bien que la commande spécifiée est implémentée par un autre code, lorsque le VSPackage actuel soit active, il fournit l'implémentation de commande.
Symbols Element - contient les noms de symboles et les identificateurs de GUID pour toutes les commandes dans le package.
. règles de conception de fichier de Vsct
Pour concevoir correctement un fichier de .vsct, suivez les indications ci-après.
Les commandes peuvent être placées uniquement aux groupes, les groupes peuvent être placés uniquement dans les menus, les menus et peuvent être placés uniquement aux groupes. Seuls les menus sont affichés en fait dans l'IDE, groupes et les commandes ne sont pas.
Des sous-menus ne peuvent pas être directement assignés à un menu, mais doivent être assigné à un groupe, qui est ensuite assigné à un menu.
Des commandes, des sous-menus et les groupes peuvent être assignés à un groupe ou un menu de parentage à l'aide de le champ parent de leur directive de définition.
Organiser un comité de contrôle uniquement par les champs parents dans les directives a une limitation substantielle. Les directives qui définissent les objets peuvent prendre un seul argument parent.
Réutilisant des commandes, des groupes, ou des sous-menus nécessite l'utilisation d'une nouvelle directive de créer une nouvelle instance de l'objet avec ses propres paires d' GUID:ID .
chaque paire d' GUID:ID doit être unique. Réutilisez une commande qui, par exemple, a été placée dans un menu, une barre d'outils, ou un menu contextuel, est géré par l'interface d' IOleCommandTarget .
Les commandes et des sous-menus peuvent également être assignés à plusieurs groupes, et les groupes peuvent être assignés à plusieurs menus à l'aide de Commands, élément.
. remarques de fichier de Vsct
Si vous effectuez des modifications apportées à un fichier de .vsct après que vous l'avez compilé et le placer dans une DLL native satellites, vous devez exécuter devenv.exe /setup /nosetupvstemplates. De cette façon force les ressources VSPackage spécifiées dans le Registre expérimental à relire et la base de données interne qui décrit Visual Studio à régénérer.
Pendant le développement, il est possible de plusieurs projets d'un VSPackage créés et stockés dans la ruche expérimentale de Registre qui peuvent entraîner l'encombrement confusion dans l'IDE. Pour résoudre ce problème, vous pouvez redéfinir la ruche expérimentale au paramètre par défaut pour supprimer tous les VSPackages enregistré et toutes les modifications qu'ils ont pu être apportées à l'IDE. Pour réinitialiser la ruche expérimentale, utilisez l'outil de vsregex.exe fourni avec le kit de développement Visual Studio. Cet outil se trouve dans le dossier de \bin or tools\bin\x86 folder of the VisualStudioIntegration d'outils (par exemple, C : \Program Files\Visual Studio 2010 SDK\VisualStudioIntegration\Tools\Bin \ vsregexe.exe). Exécutez l'outil à l'aide de la ligne de commande vsregex GetOrig 10.0 Expoù 10.0 est la version de Visual Studio que vous utilisez, et Exp est le suffixe à la version pour obtenir dans la ruche expérimentale de Registre sous HKEY_CURRENT_USER.
Souvenez -vous que l'outil de vsregex.exe supprime de la ruche expérimentale tous les VSPackages enregistré normalement pas installé avec Visual Studio.
Voir aussi
Concepts
Autres ressources
Command Table Configuration (.ctc) Files
Command Table Format Reference
Tâches courantes avec des commandes, des menus, et les barres d'outils