UndoContext Schnittstelle

Definition

Stellt als einzelne Transaktion alle Vorgänge dar, die für alle teilnehmenden geöffneten Dokumente in Visual Studio ausgeführt werden. Wenn die- SetAborted() Methode aufgerufen wird, werden alle Änderungen verworfen, die seit dem Öffnen des-Objekts vorgenommen wurden.

public interface class UndoContext
public interface class UndoContext
__interface UndoContext
[System.Runtime.InteropServices.Guid("D8DEC44D-CAF2-4B39-A539-B91AE921BA92")]
[System.Runtime.InteropServices.TypeLibType(4160)]
public interface UndoContext
[<System.Runtime.InteropServices.Guid("D8DEC44D-CAF2-4B39-A539-B91AE921BA92")>]
[<System.Runtime.InteropServices.TypeLibType(4160)>]
type UndoContext = interface
Public Interface UndoContext
Attribute

Beispiele

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  

Hinweise

Das- UndoContext Objekt wird von der- UndoContext Eigenschaft des-Objekts zurückgegeben _DTE . Es gibt nur einen globalen rückgängig-Dienst in Visual Studio , der entweder geöffnet oder geschlossen ist. Nachdem das- UndoContext Objekt geöffnet wurde, können alle Aktualisierungen, die an Dokumenten in vorgenommen wurden, Visual Studio durch eine einzelne Rückgängig-Aktion (die-Methode) umgekehrt werden, SetAborted bis das-Objekt geschlossen wird. Wenn die- SetAborted Methode aufgerufen wird, werden alle Änderungen verworfen, die seit dem Öffnen des-Objekts vorgenommen wurden.

Um das-Objekt zu verwenden, UndoContext Öffnen Sie es, nehmen Sie Dokument Änderungen vor, und schließen Sie dann das-Objekt, um die Änderungen abzuschließen.

Um die Änderungen zu verwerfen, wird die-Methode aufgerufen, SetAborted bevor das-Objekt geschlossen wird UndoContext . Nachdem Sie UndoContext das Objekt geschlossen haben, können Sie die Änderungen nicht mehr rückgängig machen.

Hinweis

Bevor Sie das- UndoContext Objekt verwenden, überprüfen Sie, ob es bereits aus einem vorherigen Vorgang geöffnet ist. Wenn Sie bereits geöffnet ist, werden die Änderungen in allen Beteiligten Dokumenten rückgängig gemacht, zusammen mit allen Änderungen, die seit dem ersten Öffnen des Objekts vorgenommen wurden. Wenn das UndoContext Objekt bei der Überprüfung bereits geöffnet ist, schließen Sie es nicht, da der vorherige Aufrufer es nach wie vor für einen Rückgängig-Vorgang benötigt. Folglich sollten Sie nicht aufzurufen SetAborted und dann das Objekt schließen, UndoContext es sei denn, Sie haben es ursprünglich geöffnet. Schließen Sie ihn, nachdem Sie das Ändern von Text in Dokumenten abgeschlossen haben.

Eigenschaften

DTE

Ruft das Erweiterbarkeitsobjekt der obersten Ebene ab.

IsAborted

Ruft ab, ob der UndoContext-Objektvorgang durch die SetAborted()-Methode beendet wurde.

IsOpen

Gibt an, ob ein Rückgängig-Vorgang aktuell aktiv ist oder ob eine Projektmappe geöffnet ist.

IsStrict

Gibt an, ob die Rückgängig-Stapelverknüpfung strikt ist.

Parent

Ruft das unmittelbar übergeordnete Objekt eines UndoContext-Objekts ab.

Methoden

Close()

Beendet einen Rückgängig-Vorgang.

Open(String, Boolean)

Startet einen neuen Rückgängig-Vorgang.

SetAborted()

Verwirft alle Änderungen an teilnehmenden geöffneten Dokumenten, seitdem das UndoContext-Objekt geöffnet wurde.

Gilt für