2010-11-22 3 views
4

Nous avons un ajout pour VS qui est actuellement lancé depuis le menu des outils, le complément se compose d'une interface utilisateur offrant à l'utilisateur quelques boutons d'option, que je veux maintenant convertir en un menu de niveau supérieur qui offrirait la même fonctionnalité.Créer un nouveau menu de niveau supérieur dans Visual Studio

J'ai lu le tutoriel this, qui m'a aidé à ajouter un nouveau menu de niveau supérieur, mais je n'ai pas vraiment compris la logique derrière toutes les étapes. Le guide ne précise pas vraiment ce que chacune des étapes crée ou comment vous pouvez changer la sortie.
Ce que les étapes créent est un nouveau menu de niveau supérieur avec un seul élément en dessous. J'essaye de créer une certaine hiérarchie dans mon menu (c'est-à-dire Top Level -> Sous catégorie -> Commandes) mais j'ai perdu abit avec toute la structure groupes/menus/IDs. Y a-t-il une explication claire de la structure de ces fichiers? Une documentation ou un tutoriel? Si quelqu'un avait de l'expérience dans le sujet et pourrait aider à éclaircir les choses je l'apprécierais beaucoup ...

Répondre

1

Je n'ai pas essayé de faire des éléments de menu hiérarchiques, mais j'ai eu des problèmes similaires avec le fichier Visual SDK .vcst. C'est une douleur. Un couple de choses que vous pouvez faire.

  1. Installez le package VS Editor pour Blog Visual Studio Entrée pour elle: http://blogs.msdn.com/b/visualstudio/archive/2010/09/08/introducing-the-vspackage-builder.aspx
  2. Télécharger le code source (open source afin que vous puissiez voir comment ils le font) pour un complément qui fait des choses semblables. L'exemple est AnkhSVN qui est un complément Subversion Repository à Visual Studio. Voici le code source: http://ankhsvn.open.collab.net/source/browse/ankhsvn/
-1

Exemple de code

<?xml version="1.0" encoding="utf-8"?> 
<CommandTable xmlns="..."> 
    <!-- Extern section unchanged --> 
    <Commands package="guidHowToPackagePkg"> 
    <Menus> 
     <!-- New menu added --> 
     <Menu guid="guidBasicVSCTSampleCmdSet" id="SubMenu" priority="0x200" 
     type="Menu"> 
     <Parent guid="guidBasicVSCTSampleCmdSet" id="TopLevelMenuGroup" /> 
     <Strings> 
      <ButtonText>Other Commands</ButtonText> 
      <CommandName>Other Commands</CommandName> 
     </Strings> 
     </Menu> 
    </Menus> 
    <Groups> 
     <!-- Group changed to SubMenuGroup and attached to SubMenu --> 
     <Group guid="guidBasicVSCTSampleCmdSet" id="SubMenuGroup" 
     priority="0x0600"> 
     <Parent guid="guidBasicVSCTSampleCmdSet" id="SubMenu"/> 
     </Group> 
    </Groups> 

    <Buttons> 
     <!-- We attached these two buttons to SubMenuGroup --> 
     <Button guid="guidBasicVSCTSampleCmdSet" id="ThirdCommand" priority="0x0100" 
     type="Button"> 
     <Parent guid="guidBasicVSCTSampleCmdSet" id="SubMenuGroup" /> 
     <Icon guid="guidImages" id="bmpPicX" /> 
     <Strings> 
      <CommandName>ThirdCommand</CommandName> 
      <ButtonText>Third Command</ButtonText> 
     </Strings> 
     </Button> 
     <Button guid="guidBasicVSCTSampleCmdSet" id="FourthCommand" 
     priority="0x0101" type="Button"> 
     <Parent guid="guidBasicVSCTSampleCmdSet" id="SubMenuGroup" /> 
     <Icon guid="guidImages" id="bmpPicArrows" /> 
     <Strings> 
      <CommandName>FourthCommand</CommandName> 
      <ButtonText>Fourth Command</ButtonText> 
     </Strings> 
     </Button> 
    </Buttons> 

    </Commands> 

    <Symbols> 
    <!-- We add a SubMenu and changed SubMenuGroup --> 
    <GuidSymbol name="guidBasicVSCTSampleCmdSet" value="..."> 
     <IDSymbol name="SubMenu" value="0x0101" /> 
     <IDSymbol name="SubMenuGroup" value="0x0201" /> 
    </GuidSymbol> 
    </Symbols> 
</CommandTable> 

Cela vous donne le menu du haut niveau suivant:

enter image description here

est ici un chapitre sur la sujet. Cela explique à peu près tout ce qu'il y a à savoir sur les menus (hiérarchiques).

http://dotneteers.net/blogs/divedeeper/archive/2010/05/23/vs-2010-package-development-chapter-2-commands-menus-and-toolbars.aspx

Questions connexes