IVsLinkedUndoTransactionManager.OpenLinkedUndo 方法

打开链接撤消事务父单元。

命名空间:  Microsoft.VisualStudio.TextManager.Interop
程序集:  Microsoft.VisualStudio.TextManager.Interop(在 Microsoft.VisualStudio.TextManager.Interop.dll 中)

语法

声明
Function OpenLinkedUndo ( _
    dwFlags As UInteger, _
    pszDescription As String _
) As Integer
int OpenLinkedUndo(
    uint dwFlags,
    string pszDescription
)
int OpenLinkedUndo(
    [InAttribute] unsigned int dwFlags, 
    [InAttribute] String^ pszDescription
)
abstract OpenLinkedUndo : 
        dwFlags:uint32 * 
        pszDescription:string -> int
function OpenLinkedUndo(
    dwFlags : uint, 
    pszDescription : String
) : int

参数

  • dwFlags
    类型:UInt32

    [in] 从 LinkedTransactionFlags 枚举采用的值。 mdtDefault 指定该事务是 nonstrict,这是默认行为。 其他可能的枚举值是 mdtStrict 指定链接的行为的取消完全相同和 mdtGlobal,指定链接行为的取消为全局对象。 有关更多信息,请参见本主题中后面的“备注”部分。

  • pszDescription
    类型:String

    [in] 描述此事件的本地化字符串;显示撤消/重做下拉菜单。 此值可能不是 nullnull 引用(在 Visual Basic 中为 Nothing)。

返回值

类型:Int32
如果方法成功,则返回 S_OK。如果失败,它会返回一个错误代码。

备注

从 textmgr.idl:

HRESULT IVsLinkedUndoTransactionManager::OpenLinkedUndo(

[in] DWORD dwFlags,

[in] const WCHAR *pszDescription

);

  • Nonstrict 链接到取消行为 (mdtDefault) 表示一些文档链接取消同级能关闭,并且仍然保留其他链接撤消其堆栈的同级节点。 nonstrict 的示例移除行为在 Microsoft® Office® 套件中。 Microsoft Word 允许 " 拖放操作时关闭,在一个文件丢失信息。

  • 严格的链接撤消行为将指定:所有链接的撤消同级堆栈要么全部一起撤消,要么一个都不得撤消。 链接的强取消了操作 (mdtStrict) 通常是必需的。涉及多个程序文件中同时文本更改,例如头文件和 Visual C++ 文件的编辑器中的更改。 这是,事实上,用于 Visual Studio的模型。

  • 全局撤消操作 (mdtGlobal) 是强取消行为,唯一的区别受影响在 Visual Studio IDE 文档不需要处于打开状态使它们的更改会反转。 ,如果要移除一个变量名的重命名重构操作在项目,此的一个示例是。 取消对回收所有受影响上的重命名更改文档,则无论是否中当前打开 IDE。

    已打开的任何缓冲区 (,但不一定已更改)。 mdtGlobal 期间撤消事务标记为参与全局区域取消操作的缓冲区。 撤消堆栈这些缓冲区 (文档) 在同一 IDE 会话中保留,如果缓冲区已关闭再重新打开。

若要启用全局撤消,当创建拥有 IVsPersistDocData2 的实现 —使用 VsTextBuffer 作为 DocData 的实现的缓冲区 —时确保通过调用一个有效的服务提供程序的 SetSite 正确放置 DocData。 此外,则必须对 VsTextBufferOnRegisterDocData

.NET Framework 安全性

请参阅

参考

IVsLinkedUndoTransactionManager 接口

Microsoft.VisualStudio.TextManager.Interop 命名空间