相关服务和界面(源代码管理 VSPackage)

适用范围:yesVisual Studio noVisual Studio for Mac noVisual Studio Code

本部分列出了 Visual Studio SDK 中与源代码管理 VSPackage 相关的所有接口。 源代码管理 VSPackage 实现其中一些接口,并使用其他接口来完成源代码管理任务。

由 和 为源代码管理 VSPackage 实现的接口

Visual Studio SDK 中介绍了以下接口,源代码管理 VSPackage 根据其所需的功能集实现其中的一部分。 某些接口标记为必需,并且必须由每个源代码管理 VSPackage 实现。

对于包未实现的接口,Visual Studio 提供默认实现。 请注意,默认实现适用于未注册 VSPackage 且未控制项目的情况。 正确编写的源代码管理 VSPackage 实现所有必要的接口,而不是将其留给这些接口的默认实现。

源代码管理 VSPackage 必须实现封装以下部分或全部接口的专用服务。

接口包括:

  • 必需:适当的实体 (源代码管理 VSPackage、源代码管理存根、项目) 必须实现 接口。

  • 建议:实体应实现此接口;否则,源代码管理功能可能会受到限制。

  • 可选:实体可以实现此接口以提供更丰富的功能集。

接口 目的 实施者 实现?
IVsQueryEditQuerySave2 编辑器在修改或保存文件之前调用此接口。 如果签出失败,源代码管理 VSPackage 可以检查文件或拒绝操作。 源代码管理 VSPackage 建议
IVsSccManager2 此接口为项目提供基本的源代码管理功能,例如使用源代码管理注册和注销项目,以及提供对基本源代码管理标志符号的支持。 源代码管理 VSPackage 必须
IVsSccProject2 此接口是使用 函数从 IVsHierarchy 获取的,或者只是通过将 实现IVsHierarchy的对象强制转换为 来IVsSccProject2QueryInterface获取。 它用于获取项目中源代码管理下的文件,或通知项目当前源代码管理状态或位置。 Project 必须
IVsSccProvider 集成模块使用此接口来设置当前活动的 VSPackage。 源代码管理 VSPackage 必须
IVsTrackProjectDocuments2 此接口基于订阅模型。 任何 VSPackage 都可以发出它想要接收文档事件的信号,并得到 shell 关于即将发生的事件的通知。 它由 Visual Studio 实现和处理,后者又将实现 IVsTrackProjectDocumentsEvents2 的事件传递给 VSPackage。 源代码管理存根 必须
IVsTrackProjectDocuments3 此接口提供批处理、同步读/写操作和高级 OnQueryAddFiles 方法。 源代码管理存根 必须
IVsTrackProjectDocumentsEvents2 解决方案资源管理器和项目在将新文件添加到项目或从项目重命名或删除文件和文件夹时调用此接口。 源代码管理 VSPackage 可以检查项目文件或取消操作。 源代码管理 VSPackage 建议
IVsTrackProjectDocumentsEvents3 解决方案资源管理器和项目调用此接口以响应对 IVstrackProjectDocuments3 接口的方法的调用。 源代码管理 VSPackage 可以跟踪批处理操作、同步读/写操作,并使用更高级 OnQueryAddFiles 的方法。 源代码管理 VSPackage 建议
IVsSccEnlistmentPathTranslation 此接口为 Web 项目提供登记管理支持。 源代码管理 VSPackage 建议
IVsSccManagerTooltip 此接口用于检索项目中源代码管理文件的工具提示。 源代码管理 VSPackage 可选
IVsSccOpenFromSourceControl 此接口提供命名空间扩展支持。 源代码管理 VSPackage 可选
IVsSccControlNewSolution VSPackage 使用此接口将命名空间扩展集成到“ 新建”、“ 打开”或“ 保存 ”对话框中。 因此,项目可以在创建时自动添加到源代码管理,或者在保存操作生效时添加到源代码管理。 源代码管理 VSPackage 可选
IVsSccGlyphs VSPackage 使用此接口将其他标志符号定义为 解决方案资源管理器 中节点的源代码管理标志符号。 源代码管理 VSPackage 可选
IVsSccAddWebProjectFromSourceControl Web 项目的“ 添加 ”对话框使用此接口。 它提供用于浏览源代码管理位置的方法,以及用于打开以前在该位置的源代码管理存储库中添加的 Web 项目的方法。 源代码管理 VSPackage 建议
IVsAsynchOpenFromScc 此接口支持异步 (后台) 从源代码管理加载项目。 源代码管理 VSPackage 可选
IVsAsynchOpenFromSccProjectEvents 此接口允许项目watch由 IVsAsynchOpenFromScc启动的异步加载的进度。 Project 可选
IVsSccToolsOptions 此接口允许 IDE 查询活动源代码管理 VSPackage。 即使没有注册活动的源代码管理 VSPackage,IDE 也会查询具有意义的源代码管理设置的值。 此接口由 Visual Studio 实现和处理。 源代码管理存根 必须
IVsRegisterScciProvider 此接口用于注册源代码管理 VSPackage。 源代码管理存根 必须
SourceControl 此接口用于自动化。 因此,它仅公开可以在不显示任何 UI 的情况下执行的函数。 源代码管理 VSPackage 可选
IVsPersistSolutionProps 此接口用于将源代码管理设置保存在解决方案 (.sln) 文件中。 设置包括源代码管理位置和源代码管理状态标志。 源代码管理 VSPackage 建议
IVsPersistSolutionOpts 此接口用于将源代码管理设置保存在解决方案选项 (.suo) 文件中。 这可能包括特定于用户的源代码管理设置,例如当前用户的登记位置。 源代码管理 VSPackage 建议
IVsSolutionEvents3 此接口用于监视事件,以便执行操作,例如在关闭解决方案之前签入项目文件,或者在打开项目时从源代码管理获取新文件。 源代码管理 VSPackage 建议

另请参阅