IVsFinalTextChangeCommitEvents 介面
告知用戶端的最後一次認可筆勢來觸發事件,並提供變更的文字範圍。
命名空間: 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周圍任何內容以操作文字會呼叫它。 每個複合的動作都包含需要為每個 ; 射擊認可事件環境的認可筆勢 不過,複合的動作,環境,就會引發一個認可的事件。 最高優先順序的認可筆勢或最後一次認可筆勢時,會引發此事件。 比方說,使用找到 和 取代,使用者會一次取代六個 span 的文字。 每個替代潛在認可動作,但由於這是複合的動作時,環境會等候直到最後一找到和取代點撥打引發單一認可事件作業OnChangesCommitted和傳遞的值CCG_MASS_REPLACE的dwGestureFlags參數。
IVsFinalTextChangeCommitEvents只使用語言的服務或其他具有完全控制權編輯的物件。 它將不會引發來回應復原 或 重做 命令,但僅有的緩衝區就會引發 復原管理員。 藉由實作IVsFinalTextChangeCommitEvents您的語言會收到通知,當使用者執行特定的可認可動作。 如需詳細資訊,請參閱 ChangeCommitGestureFlags。 根據這些動作,語言可以採取所需,如重新格式化文字,可能已經插入任何動作。 一般情況下,這些動作無法復原的文字變更時復原,因為大多數的情況下, 復原移除有問題的文字。 基於這個理由,認可事件系統沒有回應, 復原/重做。 用戶端也要追蹤復原/重做 事件可以使用 復原管理員的叢集事件,以執行這項操作。
IVsPreliminaryTextChangeCommitEvents非常類似於IVsFinalTextChangeCommitEvents。 唯一的差別在於IVsPreliminaryTextChangeCommitEvents前的環境所取得引發IVsFinalTextChangeCommitEvents ,以及之前其他事件,例如重新格式化選取範圍。 這是為了確保緩衝區中的文字不會不會損毀才能呼叫IVsPreliminaryTextChangeCommitEvents。 您應該實作其中一個IVsFinalTextChangeCommitEvents或IVsPreliminaryTextChangeCommitEvents,但不可同時擁有兩者。
實作者注意事項
實作IVsFinalTextChangeCommitEvents上您的用戶端物件來接收通知變更文字緩衝區物件中, VsTextBuffer。 這個介面來使用您建立文字緩衝區公開 (expose) IConnectionPointContainer上的文字緩衝區物件介面VsTextBuffer 。 如需詳細資訊,請參閱How to: 使用舊版 API 的文字緩衝區事件註冊。