Partilhar via


Interface UndoContext

Representa, como uma única transação, Tudo as operações executadas em Tudo participantes Abrir documentos em Visual Studio.Se seu SetAborted méTudo é chamado, Tudo as alterações feitas desde a Abrindo o objeto são descartadas.

Namespace:  EnvDTE
Assembly:  EnvDTE (em EnvDTE. dll)

Sintaxe

<GuidAttribute("D8DEC44D-CAF2-4B39-A539-B91AE921BA92")> _
Public Interface UndoContext

Dim instance As UndoContext
[GuidAttribute("D8DEC44D-CAF2-4B39-A539-B91AE921BA92")]
public interface UndoContext
[GuidAttribute(L"D8DEC44D-CAF2-4B39-A539-B91AE921BA92")]
public interface class UndoContext
public interface UndoContext

Comentários

O objeto UndoContext é retornado pela propriedade UndoContext do objeto _DTE.Há apenas um serviço de desfazer global no Visual Studio é Abrir ou fechado.Depois o objeto UndoContext é aberto, Tudo as atualizações feitas em documentos em Visual Studio podem ser revertidas (desfeito) por uma ação desfazer única, a SetAborted méTudo, até que o objeto seja fechado.Se o SetAborted méTudo é chamado, Tudo as alterações feitas desde a Abrindo o objeto são descartadas.

Usar o objeto UndoContext, Abrir, faça alterações do documento e, em seguida, feche o objeto Finalize as alterações.

Para descartar as alterações, chame o método SetAborted antes de fechar o objeto UndoContext.Depois que você Fechar UndoContext objeto, você não pode desfazer as alterações.

Observação:

Antes de usar o Objeto de UndoContext, Marcar se ele já está Abrir de uma operação anterior.Se já estiver aberto, suas alterações serão ser desfeitas em Tudo documentos de participantes, juntamente com Tudo as alterações realizadas desde que o objeto foi aberto pela Primeiro vez.Se o UndoContext objeto já está aberto quando você Marcar, não o feche, porque o chamador anterior ainda requê-lo para uma operação de desfazer.Conseqüentemente, você não deve chamar SetAborted e, em seguida, Fechar o UndoContext objeto, a menos que você a abriu originalmente.Fechar-lo após você é feito alterando texto em documentos.

Exemplos

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

Consulte também

Referência

UndoContext Membros

Espaço para nome EnvDTE