CompoundViewAction Classe

Définition

Important

Cette API n’est pas conforme CLS.

Gère plusieurs actions de modification traitées comme une seule opération, optimisées pour un affichage de texte.

public ref class CompoundViewAction : Microsoft::VisualStudio::Package::CompoundActionBase
[Windows::Foundation::Metadata::WebHostHidden]
class CompoundViewAction : Microsoft::VisualStudio::Package::CompoundActionBase
[System.CLSCompliant(false)]
public class CompoundViewAction : Microsoft.VisualStudio.Package.CompoundActionBase
[<System.CLSCompliant(false)>]
type CompoundViewAction = class
    inherit CompoundActionBase
Public Class CompoundViewAction
Inherits CompoundActionBase
Héritage
CompoundViewAction
Attributs

Exemples

Cet exemple indique comme utiliser la classe CompoundViewAction. Cet exemple insère une liste de mots à l’emplacement actuel dans le fichier source. Sans l' CompoundViewAction objet, chacune de ces insertions est traitée comme un événement d’édition distinct et nécessite une opération d’annulation distincte. Toutefois, avec l' CompoundViewAction objet, toute la liste peut être annulée en une seule opération d’annulation.

using Microsoft.VisualStudio.Package  

namespace MyLanguagePackage  
{  
    class CMyLanguageService : LanguageService  
    {  
        // Insert the list of words, one per line.  
        void InsertWords(Source src,string[] wordList)  
        {  
            if (LastActiveTextView != null)  
            {  
                CompoundViewAction action = new CompoundViewAction(LastActiveTextView,  
                                                                   "Update source");  
                using (action)  
                {  
                    int currentLine = 0;  
                    int currentCol = 0;  
                    LastActiveTextView.GetCaretPos(out currentLine, out currentCol);  
                    // Insert list in reverse so the words appear in the proper  
                    // order in the sourec file.  
                    for (int i = wordList.Length - 1, i >= 0; i--)  
                    {  
                        string w = wordList[i] + "\n";  
                        src.SetText(currentLine, currentCol, currentLine, currentCol, w);  
                    }  
                }  
            }  
        }  
    }  
}  

Remarques

Cette classe est utilisée pour simplifier l’encapsulation d’une collection d’opérations de modification dans une opération unique. Pour cela, vous devez appeler la OpenCompoundAction méthode sur l' IVsCompoundAction interface obtenue à partir de l' IVsTextView objet spécifié. Quand cette classe est supprimée, l' IVsCompoundAction interface est fermée et valide tous les événements de modification apportés à l' IVsTextLines objet sous la forme d’une opération unique.

Notes pour les héritiers

Cette classe contient tout ce qui est nécessaire pour ouvrir une action composée en fonction d’un IVsTextView objet et pour fermer cette action lorsque cette classe est supprimée.

Notes pour les appelants

Instanciez un CompoundViewAction objet avec l' IVsTextView objet lorsque vous devez encapsuler une ou plusieurs opérations de modification qui peuvent être annulées en une seule action. Effectuez ensuite vos opérations de modification normalement. Lorsque le nouvel CompoundViewAction objet est supprimé, les opérations de modification sont stockées sous la forme d’une opération unique.

Utilisez cette classe de préférence à la CompoundAction classe, car cette classe permet à l’affichage de texte d’optimiser toutes les modifications apportées.


Étant donné que la CompoundViewAction classe fonctionne directement avec la vue, la classe Coloriseur n’a pas besoin d’être suspendue par la classe.

Constructeurs

CompoundViewAction(IVsTextView, String)

Initialise une nouvelle instance de la classe CompoundViewAction.

Champs

action

Interface pour une action CompoundAction.

(Hérité de CompoundActionBase)
opened

Spécifie si une action composite a été ouverte.

(Hérité de CompoundActionBase)

Méthodes

Abort()

Met fin à l'action composite en cours en supprimant toutes les modifications.

(Hérité de CompoundActionBase)
Close()

Ferme l'action composite et valide toutes les modifications apportées au fichier source.

(Hérité de CompoundActionBase)
Dispose()

Libère toutes les ressources juste avant la destruction de l'objet CompoundAction.

(Hérité de CompoundActionBase)
FlushEditActions()

Vide les actions en attente de modification de l'action composite actuelle.

(Hérité de CompoundActionBase)

S’applique à