CompoundViewAction Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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
- 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) |