Visual Studio 可扩展性菜单问题

Visual Studio Extensibility Menu issue

我一直在研究 Visual Studio 可扩展性和尝试菜单示例。我已经通过 MSDN material 了解 Visual Studio 命令 Table 但仍在努力理解其结构。对于以下示例,我希望在 "Help" 菜单下添加名为 "Dump" 的新菜单项。项目编译正常,但新菜单项未显示在 "Help" 菜单下。我缺少一些明显的东西,但无法弄清楚它是什么。非常感谢在这方面的任何帮助。命令Tablexml如下

<?xml version="1.0" encoding="utf-8"?>
<CommandTable xmlns="http://schemas.microsoft.com/VisualStudio/2005-10-18/CommandTable" xmlns:xs="http://www.w3.org/2001/XMLSchema">
   <Extern href="stdidcmd.h"/>
   <Extern href="vsshlids.h"/>
   <Commands package="guidTestCommandPackage">
   <Groups>
     <Group guid="myCommandSet" id="NewMenuGroup" priority="0x0100">
       <Parent guid="guidSHLMainMenu" id="IDM_VS_MENU_HELP"/>
     </Group>
   </Groups>

  <Menus>     
    <Menu guid="myCommandSet" id="DumpMenu" priority="0x700" type="Menu">
      <Parent guid="myCommandSet" id="NewMenuGroup"/>
      <Strings>
        <ButtonText>Dump</ButtonText>
        <CommandName>Dump</CommandName>
      </Strings>
    </Menu>
  </Menus>

  <Bitmaps>
    <Bitmap guid="guidImages" href="Resources\TestCommand.png" usedList="bmpPic1, bmpPic2, bmpPicSearch, bmpPicX, bmpPicArrows, bmpPicStrikethrough"/>
  </Bitmaps>
 </Commands>

  <Symbols>
   <GuidSymbol name="guidTestCommandPackage" value="{2eb800ad-4b09-497c-98bb-a6a2ea8040b8}" />

   <GuidSymbol name="myCommandSet" value="{368F5466-4D1A-4430-AFBD-A76B6BC95FF8}">
     <IDSymbol name="NewMenuGroup" value="0x0125"/>
     <IDSymbol name="DumpMenu" value="0x0126"/>
   </GuidSymbol>

   <GuidSymbol name="guidImages" value="{9afb3053-51d3-43a8-8225-01fc85c89f9a}" >
     <IDSymbol name="bmpPic1" value="1" />
     <IDSymbol name="bmpPic2" value="2" />
     <IDSymbol name="bmpPicSearch" value="3" />
     <IDSymbol name="bmpPicX" value="4" />
     <IDSymbol name="bmpPicArrows" value="5" />
     <IDSymbol name="bmpPicStrikethrough" value="6" />
   </GuidSymbol>
 </Symbols>
</CommandTable>

您需要定义一个 Button 元素,这是用户与之交互的元素。

解决您问题的最简单方法是替换此 XML:

<Menus>
  <Menu guid="myCommandSet" id="DumpMenu" priority="0x700" type="Menu">
    <Parent guid="myCommandSet" id="NewMenuGroup"/>
    <Strings>
      <ButtonText>Dump</ButtonText>
      <CommandName>Dump</CommandName>
    </Strings>
  </Menu>
</Menus>

与以下 XML.

<Buttons>     
  <Button guid="myCommandSet" id="DumpMenu" priority="0x700" type="Button">
    <Parent guid="myCommandSet" id="NewMenuGroup"/>
    <Strings>
      <ButtonText>Dump</ButtonText>
      <CommandName>Dump</CommandName>
    </Strings>
  </Button>
</Buttons>