📄 undocontextguard.cs
字号:
using System;
using EnvDTE;
namespace CodeTemplate
{
/// <summary>
/// Creates an undo context for "atomic" text buffer operations
/// </summary>
internal class UndoContextGuard: IDisposable
{
public UndoContextGuard(UndoContext context, String name)
{
m_context = context;
m_wasOpened = m_context.IsOpen;
if(!m_wasOpened)
m_context.Open(name, false);
}
~UndoContextGuard()
{
Dispose(false);
}
public void Dispose()
{
Dispose(true);
GC.SuppressFinalize(this);
}
protected virtual void Dispose(Boolean disposing)
{
if(!m_disposed)
{
if(m_context != null && !m_wasOpened)
m_context.Close();
}
m_disposed = true;
}
private UndoContext m_context;
private Boolean m_wasOpened;
private Boolean m_disposed = false;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -