自动化模型概述

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

自动化模型中的对象

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

Visual Studio 自动化对象图表

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

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

您可以考虑扩展环境自动化模型的领域:

  • 项目

  • 文档

  • Code

  • 构建

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

参与自动化模型

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

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

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

本部分内容

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

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

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

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

介绍如何通过扩展DTE.Properties对象来返回支持 VSPackage 自定义选项对话框属性的自动化对象,以在工具菜单中使用。

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

说明当你想要在窗口中提供自动化对象,而环境又没有提供现成的自动化对象时,实施自动化是个好主意。 讨论工具窗口和文档窗口的自动化。

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

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

Reference

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