Interfaccia UndoContext
Rappresenta sotto forma di singola transazione tutte le operazioni effettuate su tutti i documenti aperti in Visual Studio. Se viene richiamato il metodo SetAborted tutte le modifiche apportate dall'apertura dell'oggetto vengono annullate.
Spazio dei nomi: EnvDTE
Assembly: EnvDTE (in EnvDTE.dll)
Sintassi
'Dichiarazione
<GuidAttribute("D8DEC44D-CAF2-4B39-A539-B91AE921BA92")> _
Public Interface UndoContext
[GuidAttribute("D8DEC44D-CAF2-4B39-A539-B91AE921BA92")]
public interface UndoContext
[GuidAttribute(L"D8DEC44D-CAF2-4B39-A539-B91AE921BA92")]
public interface class UndoContext
[<GuidAttribute("D8DEC44D-CAF2-4B39-A539-B91AE921BA92")>]
type UndoContext = interface end
public interface UndoContext
Il tipo UndoContext espone i seguenti membri.
Proprietà
Nome | Descrizione | |
---|---|---|
DTE | Ottiene l'oggetto estensibilità di primo livello. | |
IsAborted | Ottiene l'informazione che indica se l'operazione dell'oggetto UndoContext è stata terminata dal metodo SetAborted. | |
IsOpen | Ottiene l'informazione che indica se un'operazione di annullamento è attiva o se una soluzione è aperta. | |
IsStrict | Ottiene l'informazione che indica se il collegamento dello stack di annullamento è rigoroso. | |
Parent | Ottiene l'oggetto padre diretto di un oggetto UndoContext. |
In alto
Metodi
Nome | Descrizione | |
---|---|---|
Close | Termina un'operazione di annullamento. | |
Open | Avvia una nuova operazione di annullamento. | |
SetAborted | Annulla tutte le modifiche apportate ai documenti aperti, dall'apertura dell'oggetto UndoContext. |
In alto
Note
L'oggetto UndoContext viene restituito dalla proprietà UndoContext dell'oggetto _DTE. In Visual Studio è disponibile un solo servizio di annullamento globale che può essere aperto o chiuso. Una volta aperto l'oggetto UndoContext, è possibile annullare, fino a che l'oggetto non viene chiuso, tutti gli aggiornamenti apportati ai documenti in Visual Studio tramite un'unica operazione, ovvero utilizzando il metodo SetAborted. Se si richiama il metodo SetAborted tutte le modifiche apportate dall'apertura dell'oggetto vengono annullate.
Per utilizzare l'oggetto UndoContext, aprirlo, apportare le modifiche al documento, quindi chiudere l'oggetto per rendere effettive le modifiche.
Per annullare le modifiche, chiamare il metodo SetAborted prima di chiudere l'oggetto UndoContext. Una volta chiuso l'oggetto UndoContext non sarà più possibile annullare le modifiche.
Nota
Prima di utilizzare l'oggetto UndoContext, verificare se è già stato aperto per un'operazione precedente. Se infatti tale oggetto è già aperto, verranno annullate tutte le modifiche effettuate in tutti i documenti da quando l'oggetto è stato aperto. Se l'oggetto UndoContext è già aperto, non chiuderlo, per consentire al chiamante precedente di annullare eventuali modifiche. Non chiamare il metodo SetAborted e poi chiudere l'oggetto UndoContext a meno che non si abbia aperto per primi lo stesso oggetto. Procedere alla chiusura dopo avere apportato le modifiche al testo dei documenti.
Esempi
Sub UndoContextExample()
' Before running, select text in an open document.
Dim txtSel As TextSelection
Dim strTS As String, boolWasOpen As Boolean
txtSel = DTE.ActiveDocument.Selection
strTS = txtSel.Text
' Check to see if UndoContext object is already open.
If DTE.UndoContext.IsOpen = True Then
boolWasOpen = True
Else
' Open the UndoContext object to track changes.
DTE.UndoContext.Open("RemoveNewLines", False)
End If
' Perform search for newline characters and remove them.
If strTS <> "" Then
txtSel.Delete()
strTS = Replace(strTS, vbNewLine, "", Compare:=vbTextCompare)
txtSel.Insert(strTS)
End If
' If UndoContext was already open, do not close it.
If boolWasOpen = False Then
' Close the UndoContext object to commit the changes.
DTE.UndoContext.Close()
End If
End Sub