Condividi tramite


Classe CompoundViewAction

Gestisce più azioni di modifica che vengono trattate come una sola operazione, ottimizzate per una visualizzazione di testo.

Questa API non è conforme a CLS. L'alternativa conforme a CLS è [None].

Gerarchia di ereditarietà

System.Object
  Microsoft.VisualStudio.Package.CompoundViewAction

Spazio dei nomi:  Microsoft.VisualStudio.Package
Assembly:   Microsoft.VisualStudio.Package.LanguageService (in Microsoft.VisualStudio.Package.LanguageService.dll)
  Microsoft.VisualStudio.Package.LanguageService.11.0 (in Microsoft.VisualStudio.Package.LanguageService.11.0.dll)
  Microsoft.VisualStudio.Package.LanguageService.9.0 (in Microsoft.VisualStudio.Package.LanguageService.9.0.dll)
  Microsoft.VisualStudio.Package.LanguageService.10.0 (in Microsoft.VisualStudio.Package.LanguageService.10.0.dll)

Sintassi

'Dichiarazione
<CLSCompliantAttribute(False)> _
Public Class CompoundViewAction _
    Implements IDisposable
[CLSCompliantAttribute(false)]
public class CompoundViewAction : IDisposable

Il tipo CompoundViewAction espone i seguenti membri.

Costruttori

  Nome Descrizione
Metodo pubblico CompoundViewAction Inizializza una nuova istanza di CompoundViewAction classe.

In alto

Metodi

  Nome Descrizione
Metodo pubblico Abort() Termina l'azione composta corrente, generando tramite tutte le modifiche. (Ereditato da CompoundActionBase)
Metodo pubblico Abort()
Metodo pubblico Close() Chiudere l'azione e i commit composti tutte le modifiche apportate al file di origine. (Ereditato da CompoundActionBase)
Metodo pubblico Close()
Metodo pubblico Dispose() Libera tutte le risorse prima CompoundAction l'oggetto viene eliminato. (Ereditato da CompoundActionBase)
Metodo pubblico Dispose()
Metodo pubblico Equals Determina se l'oggetto specificato equivale all'oggetto corrente. (Ereditato da Object)
Metodo protetto Finalize Consente a un oggetto di provare a liberare risorse ed eseguire altre operazioni di pulitura prima che l'oggetto stesso venga recuperato dalla procedura di Garbage Collection. (Ereditato da Object)
Metodo pubblico FlushEditActions() Svuota le azioni in corso di modifica details composta corrente. (Ereditato da CompoundActionBase)
Metodo pubblico FlushEditActions()
Metodo pubblico GetHashCode Funge da funzione hash per un determinato tipo. (Ereditato da Object)
Metodo pubblico GetType Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object)
Metodo protetto MemberwiseClone Consente di creare una copia dei riferimenti dell'oggetto Object corrente. (Ereditato da Object)
Metodo pubblico ToString Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object)

In alto

Campi

  Nome Descrizione
Campo protetto action interfaccia per un'azione di CompoundAction. (Ereditato da CompoundActionBase)
Campo protetto opened specifica se un'azione composta è stata aperta. (Ereditato da CompoundActionBase)

In alto

Note

Questa classe viene utilizzata per semplificare il wrapping di una raccolta di operazioni di modifica in un'unica operazione.Questo risultato si ottiene chiamando OpenCompoundAction metodo su IVsCompoundAction collegare che viene ottenuto dal specificato IVsTextView oggetto.Quando questa classe è stata eliminata, IVsCompoundAction l'interfaccia viene chiusa e il commit di tutti gli eventi di modifica fatti a IVsTextLines oggetto come una sola operazione.

Note per gli implementatori

Questa classe contiene tutto il necessario per aprire fornito azione composta IVsTextView oggetto e chiudere tale azione quando questa classe è stata eliminata.

Note per i chiamanti

Creare un'istanza di un oggetto CompoundViewAction oggetto con IVsTextView oggetto quando è necessario eseguire il wrapping di una o più operazioni di modifica che possono essere annullate in una singola azione.Quindi eseguire le operazioni di modifica come normale.quando il nuovo CompoundViewAction l'oggetto viene eliminato, le operazioni di modifica viene memorizzato come una sola operazione.

Utilizzare la classe di preferenza a CompoundAction la classe come questa classe consente della visualizzazione di testo ottimizzi tutte le modifiche apportate.

[!NOTA]

Da CompoundViewAction funzionamento della classe direttamente con la visualizzazione, il colorizer non deve essere sospeso dalla classe.

Esempi

In questo esempio viene illustrato come utilizzare CompoundViewAction classe.In questo esempio viene inserito un elenco di parole nella posizione corrente nel file di origine.senza CompoundViewAction oggetto, ciascuno degli inserimenti viene considerato come un evento distinto di modifica e richiede un'operazione di annullamento separata.tuttavia, con CompoundViewAction oggetto, l'intero elenco può essere interrotto con un singolo annullamento.

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);
                    }
                }
            }
        }
    }
}

Codice thread safe

Qualsiasi membro static (Shared in Visual Basic) pubblico di questo tipo è thread-safe. I membri di istanza non sono garantiti come thread-safe.

Vedere anche

Riferimenti

Spazio dei nomi Microsoft.VisualStudio.Package