我创建了以下vsct文件xml。
<?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"/>
<Extern href="msobtnid.h"/>
<Commands package="guidMyVSXCommandsPkg">
<Menus>
<Menu guid="guidMyVSXCommandsCmdSet" id="TopLevelMenu" priority="0x100" type="Menu">
<Parent guid="guidSHLMainMenu" id="IDM_VS_CTXT_PROJNODE"/>
<Strings>
<MenuText>Work???</MenuText>
<ButtonText>FigureMain</ButtonText>
<CommandName>TryMainMenu</CommandName>
</Strings>
</Menu>
</Menus>
<Groups>
<Group guid="guidMyVSXCommandsCmdSet" id="TopLevelMenuGroup" priority="0x0600">
<Parent guid="guidMyVSXCommandsCmdSet" id="TopLevelMenu"/>
</Group>
</Groups>
<Buttons>
<Button guid="guidMyVSXCommandsCmdSet" id="cmdidMyCommand" priority="0x0100" type="Button">
<Parent guid="guidMyVSXCommandsCmdSet" id="TopLevelMenuGroup" />
<Icon guid="guidImages" id="bmpPic1" />
<Strings>
<CommandName>cmdidMyCommand</CommandName>
<ButtonText>DO SOMETHING REAL COOL!!!!!!!!</ButtonText>
</Strings>
</Button>
</Buttons>
<Bitmaps>
<Bitmap guid="guidImages" href="Resources\Images_32bit.bmp" usedList="bmpPic1, bmpPic2, bmpPicSearch, bmpPicX, bmpPicArrows"/>
</Bitmaps>
</Commands>
<Symbols>
<!-- This is the package guid. -->
<GuidSymbol name="guidMyVSXCommandsPkg" value="{70e6574c-ebed-4856-b78b-0927966cc800}" />
<!-- This is the guid used to group the menu commands together -->
<GuidSymbol name="guidMyVSXCommandsCmdSet" value="{301c910a-65eb-42c4-bf0f-bc5aaac737f1}">
<IDSymbol name="TopLevelMenu" value="0x0100" />
<IDSymbol name="TopLevelMenuGroup" value="0x0200" />
<IDSymbol name="cmdidMyCommand" value="0x0300" />
</GuidSymbol>
<GuidSymbol name="guidImages" value="{1997bf57-349c-434a-ad64-32a3a65e35f3}" >
<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" />
</GuidSymbol>
</Symbols>
</CommandTable>
当我在上下文菜单中选择
时,我想看到的最终结果是什么工作??? - &GT;做真正的酷!!!!!!!!!
答案 0 :(得分:13)
您的菜单应将其父级设置为组,而不是顶级上下文菜单。例如,尝试更改此行:
<Parent guid="guidSHLMainMenu" id="IDM_VS_CTXT_PROJNODE"/>
到这一行:
<Parent guid="guidSHLMainMenu" id="IDG_VS_CTXT_PROJECT_START"/>
现在,您应该在项目节点的上下文菜单中看到“TryMainMenu”显示在“Debug”旁边。如果您希望菜单存在于顶级上下文菜单中的自己的组中,则应该使用父IDM_VS_CTXT_PROJNODE定义一个新组,并将菜单的父级设置为该组。
或者,您可以通过查看SharedCmdPlace.vsct并使用以下父级查找Group元素来发现其他现有组(除了IDG_VS_CTXT_PROJECT_START):
<Parent guid="guidSHLMainMenu" id="IDM_VS_CTXT_PROJNODE"/>