随笔 - 89, 评论 - 162, 引用 - 33

导航

关于

标签

每月存档

最新留言

广告

 

[原文作者]: Beth Massi

[原文链接]:  Visual Studio Tip of the Day - Let's Build an Add-In

我已经开始使用Visual Studio 创建一些Add-In的工程, 这的确是一个比较容易的过程. 真正值得高兴的是,我们不需要去单独安装SDK 去创建Add-in工程,这已经集成在Visual Studio. 我之前写过一个从Sararss feed浏览他的文章的程序.现在我们看看怎么用Visual Studio 2008实现的. 你可以从这里下载代码.

首先我们添加一个新的工程到你的项目中, Add --> New Project, 展开 "Other Project Types"选择”Extensibility” 然后选择”Visual Studio Add-In”.

这会打开一个向导帮助你配置一些你的add-in程序.第一步是选择语言”Create an Add-in using Visual Basic”, 进行到下一步.

下一步选择add-in程序的宿主.在这个程序中我们选择 Visual Studio 2008 Macros”,因为我只想让这个程序起运并显示在工具菜单栏上.

再下一步是Add-in程序的名字和描述. 我们把名字和描述改成 Visual Studio Tip of the Day".

下一步,向导会问我们怎么样去起运Add-in程序, 在这个程序中我们需要在Visual Studio打开的时候载入,并且提供一个在工具栏上的菜单.选择相应的选项,进行到下一步.

最后一步,向导会我们是否需要一个”About”,我们会跳过这一步, 结束向导.

一个新Add-in工程会被加入到你的项目中.  然后打开Add-in工程的属性页,选择”Compile”, 进入”Advanced Compile Options…”,Target Framework改成 .NET Framework 3.5

我们需要添加引用到我们上文提到的(SaraRssViewer) 工程, 现在我们已经有了引用并且配置好了target framework,打开Connect.vb 文件,” OnStartUpComplete”方法中我们会加入代码去载入窗体.

Public Sub OnStartupComplete(ByRef custom As Array) _

  Implements IDTExtensibility2.OnStartupComplete

 

    Dim frm As New SaraRSSViewer.Form1

    frm.Show()

End Sub

当你从工具菜单选择我们的Add-in的时候, 这个程序会被运行, 我们需要把同样的代码加入Exec方法.

Public Sub Exec(ByVal commandName As String, _

                ByVal executeOption As vsCommandExecOption, _

                ByRef varIn As Object, ByRef varOut As Object, _

                ByRef handled As Boolean) _

           Implements IDTCommandTarget.Exec

 

    handled = False

    If executeOption = vsCommandExecOption.vsCommandExecOptionDoDefault Then

        If commandName = "MyAddin1.Connect.MyAddin1" Then

 

            Dim frm As New SaraRSSViewer.Form1

            frm.Show()

 

            handled = True

            Exit Sub

        End If

    End If

End Sub

 

然后我们按F5运行我们的程序, 这样你就可以看到我们的Add-in程序运行的效果,

你也可以自己定制你的菜单名,OnConnection方法中,定义Command变量,第三个参数是显示菜单名,第四个是改变tolltip.

Dim command As Command = _

    commands.AddNamedCommand2(_addInInstance, _

                              "MyAddin1", _

                              "Tip of the Day", _

                              "Display the Visual Studio tips of the day", _

                              True, 59, Nothing, _

                              CType(vsCommandStatus.vsCommandStatusSupported, Integer) + _

                              CType(vsCommandStatus.vsCommandStatusEnabled, Integer), _

                              vsCommandStyle.vsCommandStylePictAndText, _

                              vsCommandControlType.vsCommandControlTypeButton)

当我们编译Add-in工程的时候,会把.addin 文件添加到Visual Studio 2008\Addins\文件夹下面. 通过这个例子,我们可以看创建一个Add-in程序的确很简单.你也可以一些尝试其他的例子,比如OfficeAdd-in等等.

在以后的文章中,我会写一些关于如何把Add-in程序部属到其他机器的方法.

 

打印 | 张贴于 2007-12-25 16:06:00 | Tag:Beth Massi的blog

留言反馈

#Interesting Finds: 2007.12.26 编辑
Debug: windbg使用小总结 .NET: MSDNMagazineJanuary2008 HowToCreateanHTMLHelperforASP.N...
2008-01-06 11:13:00 | [匿名用户:gOODiDEA]
#回复: Visual Studio - 创建Add-In 工程 编辑
你说的这个问题,我以前也遇到过
其实用Add-in一个很好的方面,就是可能一些方便我们使用vs的工具,或者某一方面的扩展可以在vs或者office中体现出优势来
2007-12-26 14:00:00 | [匿名用户:gerry]
#Interesting Finds: 2007.12.26 编辑
Debug: windbg使用小总结 .NET: MSDNMagazineJanuary2008 HowToCreateanHT...
2007-12-26 13:58:00 | [匿名用户:gOODiDEA]
#回复: Visual Studio - 创建Add-In 工程 编辑
Addin的部署虽然很简单。但是,问题还是很多的。某些时候,你会发现菜单中新添加的项目突然找不到了。
很郁闷,我记得3年前,为解决这个问题,我只好新建了一个项目。看起来VS2005和VS2008已经解决了一些。需要先把AddIn删掉,然后重启VS,然后再重新部署。
挺烦的。
2007-12-26 13:21:00 | [匿名用户:Colin Han]
#回复: Visual Studio - 创建Add-In 工程 编辑
宏也是个不错的办法,Add-in程序的部署说是部署其实也是非常简单的,只要拷贝到Visual Studio 2008\Addins就可以了,也方便管理
2007-12-26 11:27:00 | [匿名用户:gerry]
#回复: Visual Studio - 创建Add-In 工程 编辑
在Office中也可以实现同样的Add-in小程序,
可能Visual studio以后会提供更多的外部开发接口
2007-12-26 09:44:00 | [匿名用户:gerry]
#回复: Visual Studio - 创建Add-In 工程 编辑
常用小功能就写宏了,可以直接拷给别人,不用部署啥的
2007-12-26 09:04:00 | [匿名用户:装配脑袋]
#回复: Visual Studio - 创建Add-In 工程 编辑
像一些Class Designer Power toy就是用Add-in写出来的,我们也可以自己尝试写一些方便的小工具来用
2007-12-25 16:18:00 | [匿名用户:VBCTI]
博客主人设置本博客不允许匿名用户发表言论,请登录后再试

Powered by: Joycode.MVC引擎 0.5.1.8