Partager via


IVsFinalTextChangeCommitEvents, interface

Informe des clients de la dernière entrée tactile de validation de déclencher l'événement et fournit la plage du texte modifiée.

Espace de noms :  Microsoft.VisualStudio.TextManager.Interop
Assembly :  Microsoft.VisualStudio.TextManager.Interop (dans Microsoft.VisualStudio.TextManager.Interop.dll)

Syntaxe

'Déclaration
<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

Le type IVsFinalTextChangeCommitEvents expose les membres suivants.

Méthodes

  Nom Description
Méthode publique OnChangesCommitted Informe des clients de la dernière entrée tactile de validation de déclencher l'événement et de fournir la plage du texte modifiée.

Début

Notes

Les services de langage ou d'autres parties qui ont le contrôle total de l'expérience de modification sont le seul client prévu de cette interface.

Les actions composites sont des actions qui sont groupées dans une seule unité d'Undo/Rétablir. Lorsque l'éditeur ou un client d'éditeur (par exemple, service de langage) souhaite créer une action composite elle appelle OpenCompoundAction et CloseCompoundAction autour de toute appels elle fait pour manipuler le texte. Chaque action composite contient les entrées tactiles de validation qui exigera de l'environnement pour déclencher un événement de validation pour chacun ; toutefois, pour une action composite, l'environnement déclenche uniquement un événement de validation. Cet événement est déclenché sur l'entrée tactile de validation la plus élevée ou sur la dernière entrée tactile de validation. Par exemple, l'utilisation Rechercher et Remplacer, un utilisateur remplace six étendues de texte immédiatement. Chacun de ces remplacements est potentiellement une entrée tactile de validation, mais car il s'agit d'une action composite, l'environnement attend jusqu'à la fin de l'opération de Rechercher et de Remplacer pour déclencher un événement unique de validation OnChangesCommitted appelant et en passant en valeur d'CCG_MASS_REPLACE pour le paramètre d'dwGestureFlags.

IVsFinalTextChangeCommitEvents est seulement prévu pour une utilisation par les services de langage ou d'autres objets qui ont le contrôle complet de la modification. Elle n'est pas déclenchée en réponse aux commandes d'Undo ou de Rétablir, mais la déclenche uniquement pour les mémoires tampon qui ont un gestionnaire d'Undo. En implémentant IVsFinalTextChangeCommitEvents votre langage reçoit la notification lorsque l'utilisateur exécute certaines actions validables. Pour plus d'informations, consultez ChangeCommitGestureFlags. En réponse à ces actions, le langage peut prendre de toute action il a besoin, tel que remettre en forme le texte qui peut avoir été inséré. En général ces actions ne peuvent pas être annulées lorsque la modification de texte est annulée parce que, pour la plupart, Undo supprime le texte en question. Pour cette raison, le système d'événement de validation ne répond pas à Undo/Rétablir. Les clients qui souhaitent également suivre des événements d'Undo/Rétablir peuvent utiliser les événements du cluster du gestionnaire d'Undo ainsi.

IVsPreliminaryTextChangeCommitEvents est très similaire à IVsFinalTextChangeCommitEvents. La seule différence est qu'IVsPreliminaryTextChangeCommitEvents devient déclenché par l'environnement avant IVsFinalTextChangeCommitEvents et avant d'autres événements, tels que Remettre la sélection en forme. Il s'agit de garantir que le texte dans la mémoire tampon n'est pas endommagé avant d'appeler IVsPreliminaryTextChangeCommitEvents. Vous devez implémenter IVsFinalTextChangeCommitEvents ou IVsPreliminaryTextChangeCommitEvents, mais pas les deux.

Remarques à l'attention des implémenteurs

Implémentez IVsFinalTextChangeCommitEvents sur votre objet client pour recevoir la notification des modifications à l'objet de mémoire tampon de texte, VsTextBuffer. Exposez cette interface à la mémoire tampon de texte à l'aide de l'interface d'IConnectionPointContainer sur l'objet VsTextBuffer de mémoire tampon de texte. Pour plus d'informations, consultez Comment : Inscrire pour des événements de la mémoire tampon de texte avec l'API héritée.

Voir aussi

Référence

Microsoft.VisualStudio.TextManager.Interop, espace de noms