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 | |
---|---|---|
DTE | Obtiene el objeto de extensibilidad de nivel superior. | |
IsAborted | Obtiene si el método SetAborted finalizó la operación del objeto UndoContext. | |
IsOpen | Obtiene si hay una operación de deshacer actualmente vigente o si hay una solución abierta. | |
IsStrict | Obtiene si la vinculación de la pila de operaciones de deshacer es estricta. | |
Parent | Obtiene el objeto primario inmediato de un objeto UndoContext. |
Arriba
Métodos
Nombre | Descripción | |
---|---|---|
Close | Finaliza una operación de deshacer. | |
Open | Inicia una nueva operación de deshacer. | |
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