2010-11-22 8 views
4

Wir haben ein Add-In für VS, die derzeit aus dem Tools-Menü gestartet wird, das Add-In besteht aus einer Benutzeroberfläche bietet dem Benutzer ein paar Optionsfelder, die ich jetzt möchte In ein Top-Level-Menü konvertieren, das die gleiche Funktionalität bietet.Erstellen Sie ein neues Top-Level-Menü in Visual Studio

Ich habe gelesen this Tutorial, die mir geholfen, ein neues Top-Level-Menü hinzufügen, konnte aber nicht wirklich die Logik hinter all den Schritten verstehen. Die Anleitung erklärt nicht wirklich, was die einzelnen Schritte erzeugen oder wie Sie die Ausgabe ändern können.
Was die Schritte erstellen ist ein neues Top-Level-Menü mit einem einzelnen Element darunter. Ich versuche, eine Hierarchie in meinem Menü (d. H. Top Level -> Sub category -> Commands) zu erstellen, aber ich habe etwas verloren mit der Struktur der Gruppen/Menüs/IDs. Gibt es eine klare Erklärung für die Struktur dieser Dateien? Eine Dokumentation oder ein Tutorial? Wenn jemand Erfahrung in dem Thema hatte und helfen konnte, Dinge zu klären, würde ich es sehr schätzen ...

Antwort

1

Ich habe nicht versucht, hierarchische Menüelemente, aber ich hatte ähnliche Probleme mit der Visual SDK .vcst Datei. Es ist ein Schmerz. Ein paar Dinge, die Sie tun können.

  1. Installieren Sie das VS-Paket-Editor von Visual Studio Blog-Eintrag für sie: http://blogs.msdn.com/b/visualstudio/archive/2010/09/08/introducing-the-vspackage-builder.aspx
  2. herunterladen Quellcode (Open Source, so können Sie sehen, wie sie es tun) für ein Add-In, dass ähnliche Dinge tut. Beispiel ist AnkhSVN, das ein Subversion-Repository-Add-In zu Visual Studio ist. Hier ist der Quellcode: http://ankhsvn.open.collab.net/source/browse/ankhsvn/
-1

Codebeispiel

<?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> 

Dies bietet Ihnen die folgenden Top-Level-Menü:

enter image description here

Hier ist ein ganzes Kapitel über die Thema. Dies erklärt ziemlich genau alles, was es in (hierarchischen) Menüs zu wissen gibt.

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

Verwandte Themen