UndoContext.Open 方法

开始一个新的撤消操作。

命名空间:  EnvDTE
程序集:  EnvDTE(在 EnvDTE.dll 中)

语法

声明
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
)

参数

  • Name
    类型:System.String
    必选。表示为其提供撤消上下文的过程名称。
  • Strict
    类型:System.Boolean
    可选。指示撤消堆栈链接是否严格。默认值为 False。

备注

在执行 Open 方法时如果 UndoContext 对象已经打开,则该方法将产生一个错误。

如果严格撤消堆栈链接,所有链接的撤消同级堆栈必须同时撤消或都不撤消。 在对多个文件(例如头文件和 Visual C++ 文件)同时进行文本更改时,严格的链接撤消操作通常是必需的。 实际上,该模型在 Visual Studio 中使用。 有关撤消堆栈链接的更多信息,请参见 OpenLinkedUndo 方法。

示例

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

.NET Framework 安全性

请参见

参考

UndoContext 接口

EnvDTE 命名空间