可以通过实现和附加源代码管理插件,将源代码管理支持添加到 Visual Studio 集成开发环境(IDE)。 IDE 通过定义完善的源代码管理 Plug-In API 连接到源代码管理插件。 IDE 通过提供包含工具栏和菜单命令的用户界面(UI)来公开源代码管理系统的版本控制功能。 源代码管理插件实现源代码管理功能。
源代码管理插件资源
源代码管理插件提供资源来帮助创建版本控制应用程序并将其连接到 Visual Studio IDE。 源代码管理插件包含必须由源代码管理插件实现的 API 规范,以便它可以集成到 Visual Studio IDE 中。 它还包含一个代码示例(用 C++ 编写),该示例实现一个框架源代码管理插件,该插件演示了符合源代码管理插件 API 的基本功能的实现。
源代码管理插件 API 规范允许您利用任何您选择的源代码管理系统,只要您创建的源代码管理 DLL 中根据源代码管理插件 API 实现了所需的功能集。
Components
关系图中的源代码管理适配器包是 IDE 的组件,用于将用户对源代码管理作的请求转换为源代码管理插件支持的函数调用。 为此,IDE 和源代码管理插件必须具有一个有效的对话框,用于在 IDE 和插件之间来回传递信息。 要进行此对话,它们必须使用相同的语言。 本文档中概述的源代码管理插件 API 是此交换的常见词汇。
显示 VS 与源代码管理插件之间的交互的体系结构关系图
如架构图中所示,图中标记为 VS shell 的 Visual Studio shell 承载了用户的工作项目和相关组件,如编辑器和解决方案资源管理器。 源代码管理适配器包处理 IDE 与源代码管理插件之间的交互。 源代码管理适配器包提供自己的源代码管理 UI。 这是用户与之交互的顶级 UI,以便启动和定义源代码管理作的范围。
源代码管理插件可以有自己的 UI,这可能由两个部分组成,如图所示。 标记为“供应商 UI”的框表示你作为源代码管理插件创建者提供的自定义用户界面元素。 当用户调用高级源代码管理作时,源代码管理插件直接显示这些内容。 标记为“Helper UI”的框是一组通过 IDE 间接调用的源代码管理插件 UI 功能。 源代码管理插件通过 IDE 提供的特殊回调函数将 UI 相关消息传递给 IDE。 帮助程序 UI 可促进与 IDE 的更无缝集成(通常通过使用 高级 按钮),从而提供更统一的最终用户体验。
源代码管理插件无法更改 Visual Studio shell,因此无法更改源代码管理适配器包或 IDE 提供的源代码管理 UI。 它必须充分利用通过实现为最终用户提供集成体验的各种源代码管理插件 API 函数提供的灵活性。 源代码管理插件 API 文档的参考部分包含一些高级源代码管理插件功能的信息。 若要利用这些功能,源代码管理插件必须在初始化期间将其高级功能声明给 IDE,并且必须为每个功能实现特定的高级功能。