提供自动化为 Vspackage

有两种主要方式使用 Vspackage 提供自动化:通过实现 VSPackage 特定对象并将实现标准自动化对象。 通常,这些一起使用来扩展该环境的自动化模型。

VSPackage 特定对象

在自动化模型中的某些位置要求您提供对 VSPackage 是唯一的自动化对象。 例如,新项目需要只有 VSPackage 提供明显的对象。 这些对象的名称将在注册表中输入,并获取通过调用环境 DTE 对象。

,在自动使用者使用标准对象的对象属性时,提供的对象 VSPackage 特定对象也可以获取。 例如,标准 Window 对象的 Object 属性,通常简称为 Windows.Object 属性。 当使用者调用在 VSPackage 时实现窗口的 Window.Object ,您将自身的模型的特定自动化对象。

项目

Vspackage 可以通过其 VSPackage 特定对象来扩展新项目类型的自动化模型。 提供新的自动化对象的主要目的 VSPackage 是区分 VCProjectVSProject2 对象的单个项的对象。 此分化很方便,在除其他项目类型外时,您需要提供用于选择或重复项的类型,应则会并行于解决方案。 有关更多信息,请参见 显示项目对象

事件

该环境的事件体系结构提供自己的另一个位置可以追加拥有 VSPackage 特定对象。 例如,通过创建拥有唯一事件对象,您可以扩展项目的环境的事件模型。 ,在一个新项目添加到拥有项类型时,您可能希望提供拥有事件。 有关更多信息,请参见 公开 Visual Studio SDK 的事件

window 对象

窗口可以通过一 VSPackage 特定的自动化对象返回到该环境,当调用。 您实现从 IVsExtensibleObjectIExtensibleObject 或 IDispatch 派生传递回属性,扩展 windows 对象它站点的对象。 例如,可以使用此方法为窗架站点的控件提供自动化。 它可能扩展此对象的语义和任何其他对象是模型的 thes。 有关更多信息,请参见 如何:为窗口提供自动化

在 " 工具 " 菜单上的选项卡页

可以创建页扩展工具,选项自动化模型通过实现页和信息添加到注册表创建拥有选项。 页可以通过与任何其他选项卡页的环境对象模型然后调用。 如果您添加到环境通过 Vspackage 功能的设计要求选项卡页,则应将该自动化支持。 有关更多信息,请参见 自动为选项卡页支持

标准自动化对象

若要扩展项目的自动化,还实现了标准自动化对象 (从派生 IDispatch) 在其他项目对象旁边的位置并实现标准方法和属性。 标准对象的示例包括插入到解决方案层次结构例如 ProjectsProjectProjectItemProjectItems的项的对象。 每个新项类型应实现这些对象 (也可能是其他部分根据项目的语义)。

实际上,这些对象提供了一些特定项目对象相反的优点。 标准自动化对象允许该项目用于与支持同一对象的其他项的一个通用的方式。 因此,编写 Project 常规和 ProjectItem 对象的宏才能任何类型的项。 有关更多信息,请参见 建模项目