我正在创建一个扩展,试图在其中添加一个包含两个子菜单按钮的菜单项。该菜单项必须显示为顶级菜单项,但是当我这样做时,该菜单项已添加到Extensions菜单中。我发现了类似的问题here,但该解决方案不适用于我。即使更改了优先级属性,菜单的位置也没有改变。以下是代码:
<?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="guidMultipleMenuCmdTestPackage">
<Groups>
<Group guid="guidMultipleMenuCmdTestPackageCmdSet" id="MyMenuGroupTop">
</Group>
</Groups>
<Menus>
<Menu guid="guidMultipleMenuCmdTestPackageCmdSet" id="MyMenuGroup" type="Menu">
<Parent guid="guidSHLMainMenu" id="IDG_VS_MM_TOOLSADDINS"/>
<Strings>
<ButtonText>My Top Menu</ButtonText>
</Strings>
</Menu>
</Menus>
<Buttons>
<Button guid="guidMultipleMenuCmdTestPackageCmdSet" id="Command1Id" type="Button">
<Strings>
<ButtonText>Changed 2</ButtonText>
</Strings>
</Button>
<Button guid="guidMultipleMenuCmdTestPackageCmdSet" id="Command2Id" type="Button">
<Strings>
<ButtonText>Command2</ButtonText>
</Strings>
</Button>
</Buttons>
<Bitmaps>
<Bitmap guid="guidImages" href="Resources\Ext1.png" usedList="bmpPic1, bmpPic2, bmpPicSearch, bmpPicX, bmpPicArrows, bmpPicStrikethrough"/>
</Bitmaps>
</Commands>
<CommandPlacements>
<CommandPlacement guid="guidMultipleMenuCmdTestPackageCmdSet" id="MyMenuGroupTop" priority="0x0001">
<Parent guid="guidMultipleMenuCmdTestPackageCmdSet" id="MyMenuGroup"/>
</CommandPlacement>
<CommandPlacement guid="guidMultipleMenuCmdTestPackageCmdSet" id="Command1Id" priority="0x0001" >
<Parent guid="guidMultipleMenuCmdTestPackageCmdSet" id="MyMenuGroupTop"/>
</CommandPlacement>
<CommandPlacement guid="guidMultipleMenuCmdTestPackageCmdSet" id="Command2Id" priority="0x0002" >
<Parent guid="guidMultipleMenuCmdTestPackageCmdSet" id="MyMenuGroupTop"/>
</CommandPlacement>
</CommandPlacements>
<Symbols>
<GuidSymbol name="guidMultipleMenuCmdTestPackage" value="{5f20b1ae-835b-423f-89e1-a33f2e20a715}" />
<GuidSymbol name="guidMultipleMenuCmdTestPackageCmdSet" value="{2e60374a-c4f8-4d96-9bb6-301ab412846f}">
<IDSymbol name="MyMenuGroup" value="0x1020" />
<IDSymbol name="MyMenuGroupTop" value="0x1021" />
<IDSymbol name="Command1Id" value="0x0101" />
<IDSymbol name="Command2Id" value="0x0102" />
</GuidSymbol>
<GuidSymbol name="guidImages" value="{512d3770-bde4-4353-a6c0-7138bbfffebe}" >
<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>
默认为顶级菜单项,现在显示在扩展菜单下。我相信这样做是为了减轻各种扩展添加到顶层菜单栏的麻烦。
但是,VS Marketplace中有一个不错的扩展,可让您有选择地将其添加回顶层菜单栏。
问题是通过以下社区线程提出的:
Get rid of new Extensions menu
真诚地,