Visual Studio自定义插件

写过Java用过Eclipse开发工具的人都知道,它有很好的扩展编程功能,于是自己就在想,在vs里面是不是也可以进行扩展编程了,经过一番测试,终于做了一个小东东!

要从哪里开始呢?我们先来看看常用的扩展VS的几种方法。这些方法都可以叫做Visual Studio Extensibility(VSX)。

1、宏(macro)

      宏是用代码扩展 Visual Studio 集成开发环境 (IDE) 的最简单方法。此方法不仅允许您记录 IDE 中的若干操作并以单个命令的形式播放它们,从而极大地提高了效率,而且还允许您在记录宏的同时了解 Visual Studio 自动化模型。宏还提供一个基于 Visual Studio IDE 的完备开发环境(称为“宏 IDE”)。该环境使用 Visual Basic 语言,可用于创建、编辑和调试宏。有关宏的更多信息,请参见 使用宏自动执行重复性操作。

      请允许我摘录MSDN的说法,由于我的机器上没有安装VB,所以怎么找也没有这个东西(宏)。和在Office中一样,如果你熟悉VB scripit一定会很快熟悉它,要想真正会用它最好的办法是你实际的录制一个。

2、插件(Addin)

     如果你使用Visual Studio专业版本或更高的版本你可以通过 创建新项目--其他项目类型--扩展性--Visual Studio外接程序 来创建它(右边共享的外接程序可以为你创建office系列产品的扩展)。外接程序更像是一个类库项目,你可以在项目中创建你自己的用户窗口,你可以将你自定义的命令插入Visual Studio菜单栏、工具栏,以及可以控制解决方案,各种属性窗口,文档窗口,以及创建文件类型。它最终将编译成为一个DLL,属于你的DLL。你可以将你的版权信息加入到Visual Studio的“关于”窗口中。Visual Studio为Addin提供了一整套很完善的编程模型,我们能很简单的调用它。用Addin进行插件开发,80%的时候你是在用自己的类库,然后用addin提供的模型接口,把它连接到VS上。Addin还可以用来创建向导,比如你在使用类型化DataSet的时候蹦出的那个很多个“下一步”的引导窗体,就可以用addin办到。

3、扩展包(Package)

     这可能是最让人感觉到神秘的部分,整个visual studio的功能就是建立在以Visual studio外壳(shell)为核心的扩展包上的(即智能客户端以及微内核模型)。
当你用扩展包开发的时候你就是一个真正的IDE开发人员。你可以在此基础上建立自己的编程语言,如:Ironpython就是一个用Visual studio作为python语言IDE的一个很好的例子,Package还可以创建一种领域描述语言工具(DSL Tool)。Visual studio2010的架构师工具就是建立在这个基础之上的。你将用任何CLR语言(F#\C#\C++\...)开发你的产品,并作为微软的合作伙伴,对你自己的工具享有完全的版权.
     在你创建Package项目之前,你需要下载Visual Studio 2010 SDK或Visual Studio 2008 SDK 1.1并在你的机器上安装它。默认安装的有6种项目类型

今天我就使用第二种方法,简单的做一个!

步骤如下

打开vs2008->新建项目->其他项目类型->扩展性->Visual Studio外接程序

如下图


Visual Studio自定义插件_第1张图片

Visual Studio自定义插件_第2张图片

然后打开connect.cs,找到Exec方法(在最后面),里面添加一句代码,其实就是弹出一个对话框,里面显示CYJ,You are Good!注意你要在里面用到Windows.Forms,所以要添加System.Windows.Forms引用,这个相信大家都会,不用我说了吧!
public void Exec(string commandName, vsCommandExecOption executeOption, ref object varIn, ref object varOut, ref bool handled)
   {
    handled = false;
    if(executeOption == vsCommandExecOption.vsCommandExecOptionDoDefault)
    {
     if(commandName == "MyLove.Connect.MyLove")
     {
     System.Windows.Forms.MessageBox.Show("CYJ,You are Good!");
     handled = true;
     return;
     }
    }
   }

最后整体生成一下项目!在运行(调试或者开始执行不调试),在你工具栏上出出现这样个小图标

Visual Studio自定义插件_第3张图片

有人可能在运行时,出现视图运行项目时出错!无法启动程序....

那你可以到Vs2008的命令提示符窗口里面运行devenv /resetaddin MyAddin1.Connect

这个命令,就可以了!也许有人问,弄这个有啥用,这个就靠你自己发挥囖,比如做个代码生成器的插件啥的!还有很多咯!

你可能感兴趣的:(代码备份)