CompoundViewAction, classe
Gère les plusieurs actions de modification qui sont traitées comme une opération unique, optimisées pour un affichage de texte.
Cette API n'est pas conforme CLS. L'alternative conforme CLS est [None].
Hiérarchie d'héritage
System.Object
Microsoft.VisualStudio.Package.CompoundViewAction
Espace de noms : Microsoft.VisualStudio.Package
Assemblys : Microsoft.VisualStudio.Package.LanguageService (dans Microsoft.VisualStudio.Package.LanguageService.dll)
Microsoft.VisualStudio.Package.LanguageService.11.0 (dans Microsoft.VisualStudio.Package.LanguageService.11.0.dll)
Microsoft.VisualStudio.Package.LanguageService.9.0 (dans Microsoft.VisualStudio.Package.LanguageService.9.0.dll)
Microsoft.VisualStudio.Package.LanguageService.10.0 (dans Microsoft.VisualStudio.Package.LanguageService.10.0.dll)
Syntaxe
'Déclaration
<CLSCompliantAttribute(False)> _
Public Class CompoundViewAction _
Implements IDisposable
[CLSCompliantAttribute(false)]
public class CompoundViewAction : IDisposable
Le type CompoundViewAction expose les membres suivants.
Constructeurs
Nom | Description | |
---|---|---|
CompoundViewAction | Initialise une nouvelle instance de la classe CompoundViewAction. |
Début
Méthodes
Nom | Description | |
---|---|---|
Abort() | Termine l'action composite actuelle, levant loin toutes les modifications. (Hérité de CompoundActionBase.) | |
Abort() | ||
Close() | Fermez l'action et les validations composites toutes les modifications au fichier source. (Hérité de CompoundActionBase.) | |
Close() | ||
Dispose() | Libère toutes les ressources juste avant que l'objet d'CompoundAction soit détruit. (Hérité de CompoundActionBase.) | |
Dispose() | ||
Equals | Détermine si l'objet Object spécifié est égal à l'objet Object actuel. (Hérité de Object.) | |
Finalize | Autorise un objet à tenter de libérer des ressources et d'exécuter d'autres opérations de nettoyage avant qu'il ne soit récupéré par l'opération garbage collection. (Hérité de Object.) | |
FlushEditActions() | Purge les actions en attente de modification de l'action composite actuelle. (Hérité de CompoundActionBase.) | |
FlushEditActions() | ||
GetHashCode | Sert de fonction de hachage pour un type particulier. (Hérité de Object.) | |
GetType | Obtient le Type de l'instance actuelle. (Hérité de Object.) | |
MemberwiseClone | Crée une copie superficielle de l'objet Object actuel. (Hérité de Object.) | |
ToString | Retourne une chaîne qui représente l'objet actuel. (Hérité de Object.) |
Début
Champs
Nom | Description | |
---|---|---|
action | Interface pour une action de CompoundAction. (Hérité de CompoundActionBase.) | |
opened | Spécifie si une action composite a été ouverte. (Hérité de CompoundActionBase.) |
Début
Remarques
Cette classe est utilisée pour simplifier encapsulant une collection de modifications dans une opération unique.Cela est accompli en appelant la méthode d'OpenCompoundAction sur l'interface d'IVsCompoundAction obtenue à partir de l'objet spécifié d'IVsTextView.Lorsque cette classe est supprimée, l'interface d'IVsCompoundAction est fermée et ce des validations tous les événements de modification faits à l'objet d'IVsTextLines comme opération unique.
Remarques à l'attention des implémenteurs
Cette classe contient tous les éléments nécessaires pour ouvrir une action composite donnée un objet d'IVsTextView et fermer cette action lorsque cette classe est supprimée.
Remarques à l'attention des appelants
Instanciez un objet d'CompoundViewAction avec l'objet d'IVsTextView lorsque vous devez encapsuler un ou plusieurs modifications qui peuvent être annulées dans une action unique.Exécutez vos modifications de façon normale.Lorsque le nouvel objet d'CompoundViewAction est supprimé, les modifications sont enregistrées en tant qu'opération unique.
Utilisez cette classe plutôt que la classe d'CompoundAction comme cette classe permet à l'affichage de texte pour optimiser toutes les modifications faites.
[!REMARQUE]
Étant donné que la classe d'CompoundViewAction fonctionne directement avec la vue, le coloriseur n'a pas besoin d'être interrompu par la classe.
Exemples
Cet exemple indique comme utiliser la classe CompoundViewAction.Cet exemple insère une liste de mots à la position actuelle dans le fichier source.Sans objet d'CompoundViewAction, chacune de ces insertions est traitée comme un événement séparé de modification et requiert une opération d'annulation distincte.Toutefois, avec l'objet d'CompoundViewAction, la liste entière peut être annulée avec une phase de restauration unique.
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);
}
}
}
}
}
}
Sécurité des threads
Tous les membres static (Shared en Visual Basic) publics de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.