Condividi tramite


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
Proprietà pubblica DTE Ottiene l'oggetto estensibilità di primo livello.
Proprietà pubblica IsAborted Ottiene l'informazione che indica se l'operazione dell'oggetto UndoContext è stata terminata dal metodo SetAborted.
Proprietà pubblica IsOpen Ottiene l'informazione che indica se un'operazione di annullamento è attiva o se una soluzione è aperta.
Proprietà pubblica IsStrict Ottiene l'informazione che indica se il collegamento dello stack di annullamento è rigoroso.
Proprietà pubblica Parent Ottiene l'oggetto padre diretto di un oggetto UndoContext.

In alto

Metodi

  Nome Descrizione
Metodo pubblico Close Termina un'operazione di annullamento.
Metodo pubblico Open Avvia una nuova operazione di annullamento.
Metodo pubblico 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

Vedere anche

Riferimenti

Spazio dei nomi EnvDTE