通知的最后使用自定义笔势触发事件并提供更改的文本范围。
命名空间: Microsoft.VisualStudio.TextManager.Interop
程序集: Microsoft.VisualStudio.TextManager.Interop(在 Microsoft.VisualStudio.TextManager.Interop.dll 中)
语法
声明
<InterfaceTypeAttribute()> _
<GuidAttribute("CE62717C-797D-445F-BC89-1D02C54CCF96")> _
Public Interface IVsFinalTextChangeCommitEvents
[InterfaceTypeAttribute()]
[GuidAttribute("CE62717C-797D-445F-BC89-1D02C54CCF96")]
public interface IVsFinalTextChangeCommitEvents
[InterfaceTypeAttribute()]
[GuidAttribute(L"CE62717C-797D-445F-BC89-1D02C54CCF96")]
public interface class IVsFinalTextChangeCommitEvents
[<InterfaceTypeAttribute()>]
[<GuidAttribute("CE62717C-797D-445F-BC89-1D02C54CCF96")>]
type IVsFinalTextChangeCommitEvents = interface end
public interface IVsFinalTextChangeCommitEvents
IVsFinalTextChangeCommitEvents 类型公开以下成员。
方法
名称 | 说明 | |
---|---|---|
![]() |
OnChangesCommitted | 通知的最后使用自定义笔势触发事件和提供了更改的文本范围。 |
页首
备注
始终可以对该的编辑体验的语言服务或其他方是此接口的唯一预期的客户端。
复合活动位于单个 取消/重做 单元分组的事件。 当编辑器或编辑客户端 (例如,语言服务) 时创建复合事件调用 OpenCompoundAction ,并 CloseCompoundAction 在周围的调用会使操作文本。 每个复合事件包含已将要求将环境激发中的每一种使事件的操作;但是,对于复合事件,环境将仅有一项操作。 此事件在最高优先级会激发执行笔势或在上次提交操作。 例如,使用 查找 和 替换,,用户立即替换文本六个范围。 这些替换中的每个可能是进行操作,但是,,因为这是复合事件,环境等待,直到激发唯一的 查找 和 替换 操作结束时通过调用 OnChangesCommitted 和通过事件按 CCG_MASS_REPLACE 的值 dwGestureFlags 参数的。
IVsFinalTextChangeCommitEvents 仅供对编辑的整个控件的语言服务或其他对象使用。 它不会激发响应仅 取消 或 重做 命令,,但是会激发有一个 取消 管理器的缓冲区。 通过实现 IVsFinalTextChangeCommitEvents 该语言收到通知,当用户执行特定 committable 事件时。 有关更多信息,请参见 ChangeCommitGestureFlags。 响应这些事件,语言可执行任何操作需要,如重新设置可能已插入的文本。 通常,这些操作无法撤消,当文本更改都将被取消时,因此,关于大部分, 取消 取消所涉及的文本。 因此,项操作系统是无响应于 取消/重做。 还要跟踪 取消/重做 事件的客户端可以使用 取消 管理器的群集事件来执行此操作。
IVsPreliminaryTextChangeCommitEvents 类似于 IVsFinalTextChangeCommitEvents。 唯一的区别是 IVsPreliminaryTextChangeCommitEvents 获取激发的环境将处于 IVsFinalTextChangeCommitEvents 之前和其他活动之前,例如 调整格式设置选项。 这是为了确保缓冲区中的文本不在调用 IVsPreliminaryTextChangeCommitEvents之前损坏。 您应实现 IVsFinalTextChangeCommitEvents 或 IVsPreliminaryTextChangeCommitEvents,但是,不是两个。
对实现者的说明
实现在客户端对象的 IVsFinalTextChangeCommitEvents 接收更改, VsTextBuffer的通知到文本缓冲区的对象。 显示该接口在文本缓冲区使用文本缓冲区对象 VsTextBuffer 的 IConnectionPointContainer 接口。 有关更多信息,请参见如何:文本缓冲区注册事件与传统 API