Compartir a través de


UndoContext (Interfaz)

Representa, como una única transacción, todas las operaciones realizadas en todos los documentos abiertos y utilizados en Visual Studio. Si se llama al método SetAborted, se descartan todos los cambios realizados desde que se abrió el objeto.

Espacio de nombres:  EnvDTE
Ensamblado:  EnvDTE (en EnvDTE.dll)

Sintaxis

'Declaración
<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

El tipo UndoContext expone los siguientes miembros.

Propiedades

  Nombre Descripción
Propiedad pública DTE Obtiene el objeto de extensibilidad de nivel superior.
Propiedad pública IsAborted Obtiene si el método SetAborted finalizó la operación del objeto UndoContext.
Propiedad pública IsOpen Obtiene si hay una operación de deshacer actualmente vigente o si hay una solución abierta.
Propiedad pública IsStrict Obtiene si la vinculación de la pila de operaciones de deshacer es estricta.
Propiedad pública Parent Obtiene el objeto primario inmediato de un objeto UndoContext.

Arriba

Métodos

  Nombre Descripción
Método público Close Finaliza una operación de deshacer.
Método público Open Inicia una nueva operación de deshacer.
Método público SetAborted Descarta todos los cambios en los documentos que se abran y utilicen a partir del momento en que se abra el objeto UndoContext.

Arriba

Comentarios

La propiedad UndoContext del objeto _DTE devuelve el objeto UndoContext. Solo hay un servicio de reversión de carácter global en Visual Studio, que está abierto o cerrado. Una vez abierto el objeto UndoContext, todas las actualizaciones realizadas en los documentos en Visual Studio se pueden revertir mediante una única acción de deshacer, el método SetAborted, hasta que el objeto se cierra. Si se invoca el método SetAborted, se descartan todos los cambios realizados desde que se abrió el objeto.

Para utilizar el objeto UndoContext, ábralo, realice cambios en los documentos y cierre el objeto para concluir con los cambios.

Para descartar los cambios, llame al método SetAborted antes de cerrar el objeto UndoContext. Una vez cerrado el objeto UndoContext, los cambios ya no podrán deshacerse.

Nota

Antes de utilizar el objeto UndoContext, compruebe si ya está abierto de una operación anterior. Si ya está abierto, se desharán los cambios de todos los documentos utilizados, así como todos los cambios realizados desde que se abrió por primera vez el objeto. Si comprueba que el objeto UndoContext ya está abierto, no lo cierre, ya que el autor de la llamada anterior aún lo necesitará para una operación de deshacer. Por tanto, no debe llamar a SetAborted y, a continuación, cerrar el objeto UndoContext a menos que lo abriera originalmente. Ciérrelo después de haber terminado de modificar texto en documentos.

Ejemplos

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

Vea también

Referencia

EnvDTE (Espacio de nombres)