安装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

每个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

扩展Visual Studio IDE的更多相关文章

  1. 如何扩展 Visual Studio 编辑器

    在 Visual Studio 2010 的时代,扩展 Visual Studio 的途径有很多,开发者可以选择宏.Add-in.MEF 和 VSPackages 进行自定义的扩展.但是宏在 Visu ...

  2. 分享:扩展Visual Studio 的简单方法

    作为 MS 阵营的码农,相信Visual Studio 肯定是大家的主要武器了,但不知道大家有没有扩展Visual Studio 的需求. 最近我需要做一个工具,发现最好是实现在VS里面,于是,Goo ...

  3. Sencha Visual Studio(IDE插件)

    Sencha Visual Studio(IDE插件) 首先从官网上下载Visual Studio插件,注意不是VSCode编辑器,下载完后安装打开Visual Studio提示你去注册,输入你的se ...

  4. Cannot add Controls from 64-bit Assemblies to the Toolbox or Use in Designers Within the Visual Studio IDE

    原文地址:https://support.microsoft.com/en-us/kb/963017 Source: Microsoft Support RAPID PUBLISHING RAPID ...

  5. 简易扩展Visual Studio UnitTesting支持TestMethodCase

    NUnit的TestCaseAttribute可以简化大量的测试参数输入用例的编写,如果基于Visual Studio Unit Test Project开发则默认没有类似的功能,看一段对比代码: p ...

  6. Visual Studio IDE环境下利用模板创建和手动配置CUDA项目教程

    目前版本的cuda是很方便的,它的一个安装里面包括了Toolkit`SDK`document`Nsight等等,而不用你自己去挨个安装,这样也避免了版本的不同步问题. 1 cuda5.5的下载地址,官 ...

  7. Visual Studio IDE 背景色该为保护眼睛色

    将背景颜色改成你想要的背景颜色. 将色调改为:85.饱和度:123.亮度:205->添加到自定义颜色->在自定义颜色选定点确定   就搞定了!

  8. C# 安装 Visual Studio IDE

    官网: https://visualstudio.microsoft.com/zh-hans/ 下载社区版(免费的) .微软的软件安装都是很nice的.安装过程中选择需要的配置进行安装(比如.net桌 ...

  9. Visual Studio发展历程初浅调研

    名称 内部版本 发布日期 支持.NET Framework版本 核心功能 竞争对手 优缺点 Visual C++ 1.0 Visual Studio的最初原型 1992 把软件开发带入了可视化开发的时 ...

随机推荐

  1. mysql 修复表和优化表

    REPAIR TABLE `table_name` 修复表 OPTIMIZE TABLE `table_name` 优化表

  2. 基于AE的SimpleGIS框架的搭建

    ArcGIS是Esri公司集40余年地理信息系统(GIS)咨询和研发经验,奉献给用户的一套完整的GIS平台产品,具有强大的地图制作.空间数据管理.空间分析.空间信息整合.发布与共享的能力.本人主要就A ...

  3. [转] 强大的python字符串解析

    1.python字符串通常有单引号('...').双引号("...").三引号("""...""")或('''...'' ...

  4. NYOJ-745蚂蚁的难题(二)

    这道题和求字段和的要求就差一点,就是那个是一条链, 这个是个环,关于这么环,刚开始按照链那种方式推倒状态转移方程,但是没有写出来,后来看题解,才看到原来还是转化为普通的单链来做,好多题都是由不会的转化 ...

  5. java集合框架02

    public class ListTest { public static void main(String[] args) { //创建几个新闻对象 News news1=new News(1, & ...

  6. C#_DBHelper_SQL数据库操作类.

    using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Data; ...

  7. ClickOnce发布后不能安装

    当在internet发布用ClickOnce打包的客户端程序时,遇到ClickOnce启动后出错,错误信息如下: + Downloading https://xxxxx/Deploy/pc/Boote ...

  8. python运行时间计算之timeit

    timeit.timeit(stmt='pass', setup='pass', timer=<default timer>, number=1000000) stmt:statement ...

  9. mysql数据库编码

    MySQL数据库默认的编码是: character set :latin1 collation : latin1_swedish_ci 查看MySQL支持的编码: mysql> show cha ...

  10. apache添加php支持

    在php编译安装好后,需要在apache中添加对php的支持,方法:找到“#AddType application/x-gzip .gz .tgz”并在后面加入AddType application/ ...