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 安全性
- 对直接调用方的完全信任。此成员不能由部分信任的代码使用。有关更多信息,请参见通过部分受信任的代码使用库。