在 Visual Studio SDK 中,可以通过实现源代码管理 VSPackage 来提供深度集成的源代码管理解决方案。 本部分介绍源代码管理 VSPackage 的功能,并提供实现步骤的概述。
源代码管理 VSPackage
Visual Studio 支持两种类型的源代码管理解决方案。 在所有版本的 Visual Studio 中,您仍然可以集成基于源代码管理插件 API 的插件。 还可以为源代码管理创建一个 VSPackage,它提供深度集成的 Visual Studio SDK 路径,该路径适用于需要高级复杂度和自主性的源代码管理解决方案。
VSPackage 可将几乎任何类型的功能添加到 Visual Studio。 源代码管理 VSPackage 为 Visual Studio 提供了完整的源代码管理功能,从向用户显示的 UI 到与源代码管理系统的后端通信。
实现源代码管理 VSPackage 需要“全部或无”策略。 源代码管理 VSPackage 的创建者必须投入大量精力来实现许多源代码管理接口和新 UI 元素(对话框、菜单和工具栏),以涵盖整个源代码管理功能,以及任何包成功与 Visual Studio 集成所需的接口。
以下步骤概述了实现源代码管理包所需的内容。 有关详细信息,请参阅 创建源代码管理 VSPackage。
创建一个提供专用源代码管理服务的 VSPackage。
在 Visual Studio 提供的源代码管理相关服务(例如, IVsQueryEditQuerySave2 接口和 IVsSccProvider 接口)中实现接口。
注册源代码控制 VSPackage。
实现所有源代码管理 UI,包括菜单项、对话框、工具栏和上下文菜单。
当源代码管理处于活动状态且必须由 VSPackage 处理时,所有与源代码管理相关的事件都会传递到源代码管理 VSPackage。
您的源代码控制 VSPackage 必须侦听由 IVsSolutionEvents3 接口实现的事件,以及由 IVsTrackProjectDocuments2 接口实现的跟踪项目文档(TPD)事件,并采取必要的措施。