zoukankan      html  css  js  c++  java
  • Visual Studio 2010自定义与功能扩展

    我们在使用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

  • 相关阅读:
    es6 学习小计
    aligin-items与aligin-content的区别
    编写Shader时的一些性能考虑
    Shader预处理宏、内置状态变量、多版本编译等
    Unity内置的shader include files
    Vertex and Fragment Shader
    对于资源上MissingScript的清理方案讨论
    Surface Shader
    LOD设置
    《蛙》
  • 原文地址:https://www.cnblogs.com/hfzsjz/p/2295846.html
Copyright © 2011-2022 走看看