Événements de mémoire tampon de texte dans l’API héritéeText buffer events in the legacy API

L’objet de mémoire tampon de texte émet plusieurs événements différents qui vous permettent de répondre à différentes situations.The text buffer object emits several different events that allow you to respond to different situations.

Lorsque vous utilisez l’API héritée, vous devez implémenter les interfaces suivantes afin de recevoir des notifications de modification de la mémoire tampon de texte.When you are using the legacy API, you should implement the following interfaces in order to receive notification of changes to the text buffer. Exposer les interfaces de la mémoire tampon de texte en utilisant le IConnectionPointContainer modifications de l’interface sur la mémoire tampon pour recevoir une notification de ligne à partir de la mémoire tampon.Expose the interfaces to the text buffer using the IConnectionPointContainer interface on the text buffer to receive notification of line changes from the buffer. Pour plus d’informations, consultez Comment : s’inscrire aux événements de mémoire tampon de texte avec l’API héritée.For more information, see How to: Register for text buffer events with the legacy API. Dans le cas de IVsTextStreamEvents ou IVsTextLinesEvents interfaces, les modifications sont retournées dans l’une ou deux dimensions coordonnées, respectivement.In the case of IVsTextStreamEvents or IVsTextLinesEvents interfaces, changes are returned in either one- or two-dimensional coordinates, respectively.

Interfaces de mémoire tampon de texteText buffer interfaces

Voici les interfaces implémentées par l’objet de mémoire tampon de texte.Following are the interfaces implemented by the text buffer object.

InterfaceInterface DescriptionDescription
IVsCompoundAction Permet la création d’actions composites (autrement dit, les actions qui sont regroupées dans une unité d’annulation/de rétablissement unique).Enables the creation of compound actions (that is, actions that are grouped in a single undo/redo unit).
IVsPersistDocData Active la persistance des données de document gérées par la mémoire tampon de texte.Enables persistence of document data managed by the text buffer.
IVsTextBuffer Fournit des services de base ; utilisé par de nombreux clients.Provides basic services; used by many clients.
IVsTextLines Fournit lire et écrire des fonctionnalités à l’aide de coordonnées à deux dimensions.Provides read and write capabilities using two-dimensional coordinates. Hérite de IVsTextBuffer.Inherits from IVsTextBuffer.
IVsTextScanner Offre un accès séquentiel, orienté flux et à du texte dans la mémoire tampon rapide.Provides fast, stream-oriented, sequential access to text in the buffer.
IVsTextStream Fournit lire et écrire des fonctionnalités à l’aide des coordonnées unidimensionnelles.Provides read and write capabilities using one-dimensional coordinates. Hérite de IVsTextBuffer.Inherits from IVsTextBuffer.
IVsUserData Fournit l’accès à une collection générique de propriétés.Provides access to a generic collection of properties. La propriété la plus importante est le nom ou le moniker, de la mémoire tampon.The most important property is the name, or moniker, of the buffer. Vous pouvez stocker vos propres données aléatoires dans la mémoire tampon avec cette interface par la création d’un GUID et l’utiliser en tant que clé.You can store your own random data in the buffer with this interface by creating a GUID and using it as a key.
IConnectionPointContainer Prend en charge les points de connexion pour les événements.Supports connection points for events.

Interfaces d’événement de mémoire tampon de texteText buffer event interfaces

Voici les interfaces pour la notification d’événement de mémoire tampon de texte.Following are the interfaces for text buffer event notification.

InterfaceInterface DescriptionDescription
IVsTextBufferEvents Avertit les clients lorsqu’un nouveau service de langage est associé à une mémoire tampon de texte.Notifies clients when a new language service is associated with a text buffer.
IVsTextBufferDataEvents Avertit les clients lors de la mémoire tampon de texte est initialisée et lorsque des modifications sont apportées aux données dans la mémoire tampon de texte.Notifies clients when a text buffer is initialized and when changes are made to data in the text buffer.
IVsTextStreamEvents Avertit les clients des modifications apportées à la mémoire tampon sous-jacente dans les coordonnées unidimensionnelles.Notifies clients of changes to the underlying text buffer in one-dimensional coordinates.
IVsTextLinesEvents Avertit les clients des modifications apportées à la mémoire tampon sous-jacente dans les coordonnées à deux dimensions.Notifies clients of changes to the underlying text buffer in two-dimensional coordinates.
IVsUserDataEvents Avertit les clients des modifications apportées aux données de l’utilisateur.Notifies clients of changes to user data.
IVsPreliminaryTextChangeCommitEvents Avertit les clients du dernier mouvement de validation pour déclencher l’événement et fournit la plage de texte modifié.Notifies clients of the last commit gesture to trigger the event and provides the range of text changed. Le IVsPreliminaryTextChangeCommitEvents interface n’est pas déclenchée en réponse à annuler ou rétablir les commandes.The IVsPreliminaryTextChangeCommitEvents interface is not fired in response to Undo or Redo commands. Événements se déclenchent uniquement pour les mémoires tampons qui ont un gestionnaire d’annulation.Events only fire for buffers that have an undo manager. IVsPreliminaryTextChangeCommitEvents est déclenché avant les autres événements, tels que de tabulation, afin de vous assurer que les autres événements ne modifient pas le texte avant que les modifications soient validées.IVsPreliminaryTextChangeCommitEvents is fired prior to other events, such as pretty listing, in order to make sure the other events do not alter the text before the changes are committed. Votre VSPackage doit surveiller un le IVsPreliminaryTextChangeCommitEvents interface ou le IVsFinalTextChangeCommitEvents interface, mais pas les deux.Your VSPackage must monitor either the IVsPreliminaryTextChangeCommitEvents interface or the IVsFinalTextChangeCommitEvents interface, but not both.
IVsFinalTextChangeCommitEvents Avertit les clients du dernier mouvement de validation pour déclencher l’événement et fournit la plage de texte modifié.Notifies clients of the last commit gesture to trigger the event and provides the range of text changed. Le IVsFinalTextChangeCommitEvents interface n’est pas déclenchée en réponse à annuler ou rétablir les commandes.The IVsFinalTextChangeCommitEvents interface is not fired in response to Undo or Redo commands. Événements se déclenchent uniquement pour les mémoires tampons qui ont un gestionnaire d’annulation.Events only fire for buffers that have an undo manager. IVsFinalTextChangeCommitEvents est destiné uniquement par les services de langage ou d’autres objets qui ont un contrôle complet sur la modification.IVsFinalTextChangeCommitEvents is intended for use only by language services or other objects that have complete control over editing. Votre VSPackage doit surveiller un le IVsPreliminaryTextChangeCommitEvents interface ou le IVsFinalTextChangeCommitEvents interface, mais pas les deux.Your VSPackage must monitor either the IVsPreliminaryTextChangeCommitEvents interface or the IVsFinalTextChangeCommitEvents interface, but not both.

Voir aussiSee also

Accéder à la mémoire tampon de texte à l’aide de l’API héritée Comment : s’inscrire aux événements de mémoire tampon de texte avec l’API héritéeAccess the text buffer by using the legacy API How to: Register for text buffer events with the legacy API