安装visual studio 2012 SDK
安装可能遇到的问题
安装时报错:Visual Studio 2012 Install Fails: Program Compatibility Mode is on。
解决方案:将“vssdk_full.exe”重命名为:“vs_ultimate.exe”。
构建项目
- 安装SDK后新建项目选择“扩展性”,就可以看见多了许多项目模版,这里我们选择“Visual Studio Package”。
- 创建“HelloWorld”项目,根据向导勾选“Menu Command”,最后点击“finish”。
- 完成后运行就可以看见VS在工具栏多了一个菜单。
项目结构
在VS的资源管理器中可以看到由模版自动生成的文件,我们现在需要关注的只有两个。
HelloWorld.vsct
这是一个xml格式的命令表配置文件。 .vsct 文件定义IDE中的UI元素。
Menu
每个Menu都包含在Menus节点下,Menu必须具有 guid、 id和 priority 属性和 Parent 元素,如:
<Menu guid="guidTopLevelMenuCmdSet" id="TopLevelMenu" priority="0x700" type="Menu">
<Parent guid="guidSHLMainMenu" id="IDG_VS_MM_TOOLSADDINS" />
<Strings>
<ButtonText>TestMenu</ButtonText>
<CommandName>TestMenu</CommandName>
</Strings>
</Menu>
Groups
Group在 .vsct 文件的 Groups 节点中定义。
<Group guid="guidTopLevelMenuCmdSet" id="MyMenuGroup" priority="0x0600">
<Parent guid="guidTopLevelMenuCmdSet" id="TopLevelMenu"/>
</Group>
Group是Menu的一部分,Group常包含Command,它也可以包含其他Menu。
HelloWorldPackage.cs
HelloWorldPackage继承Package类,类中重写的Initialize()方法是程序的入口。