Partager via


UndoContext.Open, méthode

Démarre une nouvelle opération d'annulation.

Espace de noms :  EnvDTE
Assembly :  EnvDTE (dans EnvDTE.dll)

Syntaxe

'Déclaration
Sub Open ( _
    Name As String, _
    Strict As Boolean _
)
void Open(
    string Name,
    bool Strict
)
void Open(
    [InAttribute] String^ Name, 
    [InAttribute] bool Strict
)
abstract Open : 
        Name:string * 
        Strict:bool -> unit
function Open(
    Name : String, 
    Strict : boolean
)

Paramètres

  • Name
    Type : String

    Obligatoire. Représente le nom de la procédure à laquelle un contexte d'annulation s'applique.

  • Strict
    Type : Boolean

    Optionnel. Indique si la liaison de la pile d'annulation est stricte. La valeur par défaut est False

Notes

Si l'objet UndoContext est déjà ouvert lorsque la méthode Open est exécutée, une erreur se produit.

Si la liaison de la pile d'annulation est stricte, toutes les piles d'annulation frères doivent être annulées ensemble ou pas du tout. Une opération d'annulation liée stricte est habituellement nécessaire pour les modifications de texte simultanées dans plusieurs fichiers, telles qu'un fichier d'en-tête et un fichier Visual C++. Il s'agit, en fait, du modèle utilisé dans Visual Studio. Pour plus d'informations sur la liaison de la pile d'annulation, consultez la méthode OpenLinkedUndo.

Exemples

Sub OpenExample()
   ' 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, don't close it.
   If boolWasOpen = False Then
      ' Close the UndoContext object to commit the changes.
      DTE.UndoContext.Close()
   End If
End Sub

Sécurité .NET Framework

Voir aussi

Référence

UndoContext Interface

EnvDTE, espace de noms