扩展Visual Studio IDE

安装visual studio 2012 SDK

下载visual studio SDK

安装可能遇到的问题

安装时报错:Visual Studio 2012 Install Fails: Program Compatibility Mode is on。

解决方案:将“vssdk_full.exe”重命名为:“vs_ultimate.exe”。

构建项目

  1. 安装SDK后新建项目选择“扩展性”,就可以看见多了许多项目模版,这里我们选择“Visual Studio Package”。
  2. 创建“HelloWorld”项目,根据向导勾选“Menu Command”,最后点击“finish”。
  3. 完成后运行就可以看见VS在工具栏多了一个菜单。

项目结构

在VS的资源管理器中可以看到由模版自动生成的文件,我们现在需要关注的只有两个。

HelloWorld.vsct

这是一个xml格式的命令表配置文件。 .vsct 文件定义IDE中的UI元素。

每个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()方法是程序的入口。

参考资料

  1. Visual Studio 2012 Install Fails
  2. Visual Studio Command Table (.Vsct) Files
  3. How VSPackages Add User Interface Elements to the IDE
  4. Walkthrough: Adding a Submenu to a Menu
  5. How to: Bind Keyboard Shortcuts to Menu Items
  6. Walkthrough: Adding a Command to the Solution Explorer Toolbar
posted @ 2015-08-18 11:26  Shoring  阅读(529)  评论(2编辑  收藏  举报