我正在使用Package模板创建Visual Studio 2010扩展,而不是Add-in。
我想在右键单击.cs文件时出现的“整理使用”菜单组中添加一个菜单项。为此,我需要该菜单组的guid和id。
<Button guid="myCmdSet" id="myButton" priority="0x0100" type="Button">
<Parent guid="guidSHLMainMenu (I think?)" id="???" />
<Icon guid="guidImages" id="bmpPic1" />
<Strings>
<CommandName>myCommand</CommandName>
<ButtonText>Do Stuff</ButtonText>
</Strings>
</Button>
我看过here和here以及here。基本上所有的MSDN。这些是否已发布,是否有人知道它们是什么?
编辑:我通过this method找到了相关菜单,但我仍无法找到菜单组GUID / ID,这就是我真正想要的。
答案 0 :(得分:3)
<?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="guidVSPackage1Pkg">
<Buttons>
<Button guid="guidCSharpGrpId" id="mySuperCommand" priority="0x0200" type="Button">
<Parent guid="guidCSharpGrpId" id="IDG_CSHARP_CTX_ORGANIZE" />
<Icon guid="guidImages" id="bmpPic1" />
<Strings>
<CommandName>mySuperCommand</CommandName>
<ButtonText>My super command</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="guidVSPackage1Pkg" value="{F066e284-dcab-11d2-b551-00c04f68d4db}" />
<GuidSymbol name="guidCSharpGrpId" value="{5d7e7f65-a63f-46ee-84f1-990b2cab23f9}">
<IDSymbol name="IDG_CSHARP_CTX_ORGANIZE" value="0x3618" />
<IDSymbol name="mySuperCommand" value="0x0100" />
</GuidSymbol>
<GuidSymbol name="guidImages" value="{cff24f4c-767f-48ee-aff4-6bdf8218cba0}" >
<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>
您必须放置 guidCSharpGrpId 和 IDG_CSHARP_CTX_ORGANIZE ,因为它们在“标准”ID标识中不可用。通过“标准”,我将那些放在* .h文件中的 VisualStudioIntegration \ Common \ Inc 目录中。它们隐藏在 cslangsvcui.dll 库中。
要获得这些ID,我使用了 VS命令表PowerToy 。你可以在这里下载: http://archive.msdn.microsoft.com/VSCTPowerToy
也检查这个线程: http://social.msdn.microsoft.com/Forums/en-US/vsx/thread/697245ac-1596-4d6a-b55c-f5b01b69a583
如果这个解决方案对你不起作用,因为有些guid等我把拉链项目放在我的SkyDrive上: https://skydrive.live.com/#cid=6A19F3A9B7B8E017&id=6A19F3A9B7B8E017!16486
希望这会有所帮助:)