UndoContext, interface
Représente, sous la forme d'une transaction unique, toutes les opérations effectuées dans les documents ouverts dans Visual Studio. Si la méthode SetAborted de l'objet est appelée, toutes les modifications apportées depuis son ouverture sont ignorées.
Espace de noms : EnvDTE
Assembly : EnvDTE (dans EnvDTE.dll)
Syntaxe
'Déclaration
<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
Le type UndoContext expose les membres suivants.
Propriétés
Nom | Description | |
---|---|---|
DTE | Obtient l'objet d'extensibilité de niveau supérieur. | |
IsAborted | Obtient une valeur indiquant si l'opération exécutée par l'objet UndoContext a été arrêtée par la méthode SetAborted. | |
IsOpen | Obtient une valeur indiquant si une opération d'annulation est actuellement appliquée ou si une solution est ouverte. | |
IsStrict | Obtient une valeur indiquant si la liaison de la pile d'annulation est stricte. | |
Parent | Obtient l'objet parent immédiat d'un objet UndoContext. |
Début
Méthodes
Nom | Description | |
---|---|---|
Close | Termine une opération d'annulation. | |
Open | Démarre une nouvelle opération d'annulation. | |
SetAborted | Ignore toutes les modifications effectuées dans les documents ouverts depuis l'ouverture de l'objet UndoContext. |
Début
Notes
L'objet UndoContext est retourné par la propriété UndoContext de l'objet _DTE. Visual Studio ne propose qu'un seul service d'annulation global, qui est soit ouvert, soit fermé. Une fois que l'objet UndoContext est ouvert, toutes les mises à jour effectuées dans les documents Visual Studio peuvent être annulées en une seule opération d'annulation, via la méthode SetAborted, jusqu'à la fermeture de l'objet. Si la méthode SetAborted est appelée, toutes les modifications apportées depuis l'ouverture de l'objet sont ignorées.
Pour utiliser l'objet UndoContext, ouvrez-le, procédez aux modifications voulues dans les documents, puis fermez l'objet pour valider les modifications.
Pour ignorer les modifications, appelez la méthode SetAborted avant de fermer l'objet UndoContext. Une fois l'objet UndoContext fermé, il n'est plus possible d'annuler les modifications.
Notes
Avant d'utiliser l'objet UndoContext, vérifiez d'abord s'il n'a pas déjà été ouvert lors d'une opération précédente.S'il est déjà ouvert, toutes les modifications apportées aux documents concernés seront annulées, ainsi que les modifications effectuées depuis la première ouverture de l'objet.Si l'objet UndoContext est déjà ouvert lors de la vérification, ne le fermez pas, car l'appelant initial en a encore besoin pour une opération d'annulation.Par conséquent, vous ne devez pas appeler SetAborted ni fermer l'objet UndoContext, sauf si vous êtes à l'origine de son ouverture.Fermez-le après avoir procédé aux modifications dans les documents.
Exemples
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