Compartilhar via


Interface UndoContext

Representa, como uma única transação, todas as operações executadas em todos os documentos abertos de participantes na Visual Studio.Se sua SetAborted método é chamado, todas as alterações feitas desde a abertura do objeto são descartadas.

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

Sintaxe

'Declaração
<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

O tipo UndoContext expõe os membros a seguir.

Propriedades

  Nome Descrição
Propriedade pública DTE Obtém o objeto de extensibilidade de nível superior.
Propriedade pública IsAborted Obtém se o UndoContext operação do objeto foi encerrada pelo SetAborted método.
Propriedade pública IsOpen Obtém se uma operação de desfazer está atualmente em vigor ou se uma solução é aberta.
Propriedade pública IsStrict Obtém se o vínculo da pilha de desfazer é estrito.
Propriedade pública Parent Obtém o objeto pai imediato de um UndoContext objeto.

Superior

Métodos

  Nome Descrição
Método público Close Termina uma operação de desfazer.
Método público Open Inicia uma nova operação de desfazer.
Método público SetAborted Descarta todas as alterações para participantes de documentos abertos desde a abertura do UndoContext objeto.

Superior

Comentários

O UndoContext retornado pelo objeto do UndoContext propriedade da _DTE objeto.Há apenas um serviço de desfazer global em Visual Studio que é aberto ou fechado.Após a UndoContext objeto é aberto, todas as atualizações feitas em documentos em Visual Studio pode ser revertido (desfeito) por uma única ação desfazer, o SetAborted método, até que o objeto está fechado.Se a SetAborted método é chamado, todas as alterações feitas desde a abertura do objeto são descartadas.

Para usar o UndoContext de objetos, abri-lo, faça as alterações do documento e, em seguida, feche o objeto para finalizar as alterações.

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

ObservaçãoObservação

Antes de usar o UndoContext objeto, verifique se ele já está aberto de uma operação anterior.Se já estiver aberto, suas alterações serão desfeitas em todos os documentos de participantes, juntamente com todas as alterações feitas desde que o objeto foi aberto pela primeira vez.Se a UndoContext objeto já estiver aberto quando você marcá-la, fechá-lo, porque o chamador anterior ainda requê-lo para uma operação de desfazer.Conseqüentemente, você não deve chamar SetAborted e feche o UndoContext de objeto, a menos que você o abriu originalmente.Feche-o quando terminar de alterar o 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

Namespace EnvDTE