VS代码窗口默认右键菜单:
添加自定义右键菜单项“添加右键菜单lalala”后:
皮肤颜色是默认的,可以修改,可以参考其他博客(dbq,因为之前写这篇博客时截的代码图,后来自己发现太糊了而又懒得复原)
Commands package里包含了三组Guid和ID,
从父到子依次为:
guid="guidSHLMainMenu" id="IDM_VS_CTXT_CODEWIN"
guid="guidRightClickPackageCmdSet" id="myMenuGroup"priority="0x1020"
guid="guidRightClickPackageCmdSet" id="cmdIDMyCommand"priority="0x0100" type="Button"
最开始父Guid和ID决定了菜单添加的位置
guid=“guidSHLMainMenu” id="IDM_VS_CTXT_CODEWIN"表示对主窗口的代码窗口的右键菜单操作
如果要添加二级菜单,如下图:
先新建一个group1以右键菜单为parent,一级菜单项要定义为Menu而不是Button,以group1为parent,再定义一个group2以一级菜单Menu为parent,再将二级菜单项定义为Button并以group2为parent
<GuidSymbol name="guidAddNewRightClickMenuCmdSet" value="{D4F02A6A-C5AE-4BF2-938D-F1625BDCA0E3}">
<IDSymbol name="RightClickMenuNewGroup" value="0x3100" />
<IDSymbol name="CommandNewId" value="0x3110" />
<IDSymbol name="NewRightClickMenuGroup" value="0x3200" />
<IDSymbol name="CommandNewSceneId" value="0x3210" />
<IDSymbol name="CommandNewLayoutId" value="0x3220" /
</GuidSymbol>
<Menus>
<Menu guid ="guidAddTopMenuCmdSet" id="TopLevelMenu" priority="0xFFFF" type="Menu">
<Parent guid="guidSHLMainMenu" id="IDG_VS_MM_BUILDDEBUGRUN"/>
<Strings>
<ButtonText>Nibiru</ButtonText>
<CommandName>Nibiru</CommandName>
</Strings>
</Menu>
<Menu guid ="guidAddNewRightClickMenuCmdSet" id="CommandNewId" priority="0x3110" type="Menu">
<Parent guid="guidAddNewRightClickMenuCmdSet" id="RightClickMenuNewGroup"/>
<Strings>
<ButtonText>New</ButtonText>
<CommandName>New</CommandName>
</Strings>
</Menu>
</Menus>
<Groups>
<Group guid="guidAddNewRightClickMenuCmdSet" id="RightClickMenuNewGroup" priority="0x3100">
<Parent guid="guidSHLMainMenu" id="IDM_VS_CTXT_PROJNODE"/>
</Group>
<Group guid="guidAddNewRightClickMenuCmdSet" id="NewRightClickMenuGroup" priority="0x3200">
<Parent guid="guidAddNewRightClickMenuCmdSet" id="CommandNewId"/>
</Group>
</Groups>
<Buttons>
<Button guid="guidAddNewRightClickMenuCmdSet" id="CommandNewSceneId" priority="0x3210" type="Button">
<Parent guid="guidAddNewRightClickMenuCmdSet" id="NewRightClickMenuGroup" />
<Strings>
<ButtonText>New Scene</ButtonText>
</Strings>
</Button>
<Button guid="guidAddNewRightClickMenuCmdSet" id="CommandNewLayoutId" priority="0x3220" type="Button">
<Parent guid="guidAddNewRightClickMenuCmdSet" id="NewRightClickMenuGroup" />
<Strings>
<ButtonText>New Layout</ButtonText>
</Strings>
</Button>
</Buttons>