您的位置:首页 > 其它

Visual Studio 2010自定义与功能扩展

2011-12-21 14:50 169 查看
我们在使用VS2010进行编码时,有时会做一些重复的工作,为了减轻这部分工作的,提高编程效率,VS2010允许你自定功能,还可以对VS的功能作一些扩展,并允许你同别人共享扩展的这部分功能。

VS 2010允许你通过以下几种方式来扩展它的功能:

1)宏

宏是扩展Visual Studio最简单的方法,比较适合快速自动操纵等任务,宏的功能比较有限,只适用于简单的自动化任务。编写宏只能采用VBA ,没有其他语言的支持,此外宏的共享需要共享项目文件(包括其源代码)。

2)Add-in(外接程序)

外接程序比宏强大,可以创建工具窗口和向导,并可以Vs2010 IDE中无缝集成。外接程序可编译成动态链接库形式加以共享,编译后的共享文件是二进制形式的

3)Visual Studio SDK开发工具包

Visual Studio SDK需要单独下载和安装,运用VS SDK,可以访问VS2010 内核,因此可以开发出比外接程序更强大的功能,甚至于可以开发出自己的的编辑器、设计工具,适合于其它开发语言的开发环境。

4)托管扩展框架组件MEF(Managed Extensibility Framework )

我们可以通过以上几种方法扩展VS 2010的基础是VS2010的自动化模型,也叫可扩展策略DTE(Development Tools Extensibility),对象模型是我们可对VS2010 IDE进行扩展开 发的基础.DTE是一个基于COM的接口,已经添加到各个版本的Visual Studio中,DTE的各个版本的接口和相关类实现已覆盖Visual Studio的各个方面的功能。

DTE相关类只是对接口的实现,就其实现本质而言,接口不支持扩展的,永远不能改变。例如,您可以找到Debugger,Debugger2,Debugger3,Debugger4,和Debugger5接口。Debugger是Visual Studio 2003的一部分,并且是最早的版本。 Debugger2是Debugger更新,位于的Visual Studio 2005,Debugger3位于Visual Studio 2008,Debugger4位于Visual Studio 2008 SP1和Debugger5应用于Visual Studio 2010。根DTE接口也有一个更新版本DTE2,你通常使用DTE2,而不是DTE。这一点在实际编程中的意思是,对象模型层次结构不简单。该模型将暴露在早期表现上的类的方法的模式,但您需要用对象较新的接口来访问它的功能。例如,解决方案对象Solution没有提供能够创建解决方案文件夹功能,直到后来Solution2其中提供了AddSolutionFolder方法。因此,下面的宏代码将不能正常工作

以下是代码片段:
Public Sub AddSolutionFolder()

DTE.Solution.AddSolutionFolder("TestFolder")

End Sub

但是下面这段代码却可以

以下是代码片段:
Public Sub AddSolutionFolder()

Dim solution As Solution2 = DirectCast(DTE.Solution, Solution2)

solution.AddSolutionFolder("TestFolder")

End Sub

原文链接:http://winsystem.ctocio.com.cn/416/11585916.shtml
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: