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 | |
---|---|---|
CompoundViewAction | Inizializza una nuova istanza di CompoundViewAction classe. |
In alto
Metodi
Nome | Descrizione | |
---|---|---|
Abort() | Termina l'azione composta corrente, generando tramite tutte le modifiche. (Ereditato da CompoundActionBase) | |
Abort() | ||
Close() | Chiudere l'azione e i commit composti tutte le modifiche apportate al file di origine. (Ereditato da CompoundActionBase) | |
Close() | ||
Dispose() | Libera tutte le risorse prima CompoundAction l'oggetto viene eliminato. (Ereditato da CompoundActionBase) | |
Dispose() | ||
Equals | Determina se l'oggetto specificato equivale all'oggetto corrente. (Ereditato da Object) | |
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) | |
FlushEditActions() | Svuota le azioni in corso di modifica details composta corrente. (Ereditato da CompoundActionBase) | |
FlushEditActions() | ||
GetHashCode | Funge da funzione hash per un determinato tipo. (Ereditato da Object) | |
GetType | Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object) | |
MemberwiseClone | Consente di creare una copia dei riferimenti dell'oggetto Object corrente. (Ereditato da Object) | |
ToString | Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |
In alto
Campi
Nome | Descrizione | |
---|---|---|
action | interfaccia per un'azione di CompoundAction. (Ereditato da CompoundActionBase) | |
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.