查询编辑器查询保存 (源代码管理 VSPackage)

Visual Studio 编辑器中广播查询编辑器查询保存 (QEQS)操作。 Visual Studio 源代码管理存根实现 QEQS 服务,因此,它是 QEQS 事件的接收者。 这些事件然后将委托给当前活动的源代码管理 VSPackage。 积极的源代码管理 VSPackage 执行 IVsQueryEditQuerySave2 及其方法。 IVsQueryEditQuerySave2 接口的方法通常,调用之前直接文档第一次编辑,因此,在文档保存之前。

QueryEditQuerySave 事件

源代码管理 VSPackage 通过执行 IVsQueryEditQuerySave2 接口和所需的方法必须处理 QEQS 事件。 在 VSPackage 必须在最小两个方法的简要说明。 实际实现必须与源代码管理模型的逻辑匹配。

QueryEditFiles 方法

,当所有项或编辑若要修改文件时, QueryEditFiles 调用。 理想情况下,此方法调用修改,并且该文件的 以前 ,在保存文件时。 调用时, IVsQueryEditQuerySave2::QueryEditFiles 方法检查特定文件在源代码管理下,它们是否需要通过检查,因此,它们是否可以重新加载。 如果情况妨碍文件是可编辑的, IVsQueryEditQuerySave2::QueryEditFiles 方法调用调用过程取消编辑。 指定调用模式调用方也是可能的。 在该 “无”模式下,因此,只有当它不会导致对任何 UI 显示,此方法将操作。 如果 UI 是不可避免的,必须返回标志指示该问题。

方法的行为是一个可处理方式;也就是说,如果编辑在一个文件中移除,编辑器对于所有文件都被取消。 相反,因此,如果编辑器允许,它允许任意文件。 如果此方法允许一次编辑给定的设置文件,它必须始终以允许编辑在为相同的后续调用设置文件。 允许编辑循环继续,直到文件已关闭,保存并重新加载;直到其属性更改;或在源代码管理包已更改。 要考虑的用例执行 IVsQueryEditQuerySave2::QueryEditFiles 方法由多个文件,专用文件,来自用户的取消,并且,内存编辑。

QuerySaveFiles 方法

,当所有项或编辑需要保存一组文件时, QuerySaveFiles 调用。 调用时, IVsQueryEditQuerySave2::QuerySaveFiles 方法检查特定文件是否为只读,并且它们是否位于源代码管理。 如果文件需要进行检查,调用将委托到源代码管理包。 如果条件阻止保存文件, IVsQueryEditQuerySave2::QuerySaveFiles 方法必须通知编辑器取消保存。 与 IVsQueryEditQuerySave2::QueryEditFiles 方法,指定要调用模式调用方是可能的。 在该 “无”模式下,因此,只有当它不会导致对任何 UI 显示,此方法将操作。 如果 UI 是不可避免的,必须返回标志指示该问题。

此方法必须行为以可处理方式;也就是说,如果保存在一个文件中移除,保存对所有文件被取消。 相反,因此,如果保存允许,必须使所有文件。 与 IVsQueryEditQuerySave2::QueryEditFiles 方法,要考虑的用例执行 IVsQueryEditQuerySave2::QuerySaveFiles 方法由多个文件,专用文件,来自用户的取消,并且,内存编辑。

请参见

参考

IVsQueryEditQuerySave2