自动化模型概述

自动化模型由一组对象组成,可以编写 Visual Studio 外接程序或扩展。 加载项是一个应用程序,可以操作 Visual Studio 环境并自动执行常见任务。 Visual Studio 扩展可以创建自定义 Visual Studio 组件或添加到标准组件的功能,例如文本编辑器。

自动化模型中的对象

自动化模型由控制常见环境主要方面的相关对象组组成。 下图显示了构成自动化模型的一组广泛的 Visual Studio 对象。

Visual Studio automation object chart

有关详细信息,请参阅 扩展 Visual Studio 环境

环境为不同的功能区域提供模型。 例如,在代码中找到的各种元素都有一个代码模型。 有多种文档元素的文档模型。 项目区域一个区域对 VSPackage 提供程序特别感兴趣。 你可能希望新的项目类型与 Visual C++ 和 Visual Basic 对自动化模型的贡献方式大致相同。 此过程在为 VSPackage 提供自动化中概述。

可以考虑扩展环境的自动化模型的位置:

  • 项目

  • 文档

  • 代码

  • 生成

有关自动化的详细信息,请参阅 Visual Studio 的自动化和扩展性。 本文档及其提供链接的文档可帮助你就如何为 VSPackage 提供自动化做出决策。

参与自动化模型

Visual Studio 提供了一组用于自定义环境的自动化接口。 自动化模型是对象模型,使最终用户能够创建 Visual Studio 加载项和扩展。

此外,作为 VSPackage 开发人员,它适合你为自动化模型做出贡献;通过执行此操作,可以让 VSPackage 的最终用户创建外接程序,并在 Visual Studio 中使用 VSPackage 时提供一致的用户模型体验。

若要使最终用户体验保持一致,可以在设计 VSPackage 时遵循一组准则,以便 VSPackage 的自动化模型遵循 Visual Studio 中的想法。

本节内容

讨论为 VSPackage 提供自动化的两种主要方法。

提供有关创建特定于 VSPackage 的对象的分步说明。

说明为新项目类型创建自动化所需的标准项目对象,并说明了项目自动化所遵循的路径。 本主题还提供类的声明和实现列表。

提供为自动化模型创建事件的分步说明。

介绍如何通过扩展对象来返回自动化对象,以支持 VSPackage 自定义选项对话框的属性DTE.Properties

说明不需要为代码创建自动化模型。 但是,本主题中提供了一个链接,该链接提供有关代码模型的见解。

说明每当你想要在窗口中提供自动化对象时,提供自动化是个好主意,并且环境尚未提供现成的自动化对象。 讨论工具窗口和文档窗口的自动化。

提供两个代码示例,演示自动化使用者如何获取初始项目自动化对象。

提供有关 Configuration 和 SelectedItems 对象的自动化信息。

参考

  • GetAutomationObject 提供一个代码示例,演示如何 VSPackage 参与 DTE 自动化对象模型。 列出参数、返回值和所选备注。