Macros.Pause 方法

暂停宏记录器以便没有任何代码写入当前正在记录的宏。 此方法不应从宏内部使用。

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

语法

声明
Sub Pause
void Pause()
void Pause()
abstract Pause : unit -> unit 
function Pause()

备注

如果一个宏命令调用另一个宏命令来执行它的任务,而第一个命令并不要求或并不想将第二个命令记录在宏内,这时 Pause 就会很有用。 在这种情况下,第一个命令发出捕获整个命令的行为的代码。

若要在暂停之后继续录制宏,可使用 Resume。 Pause 只能从外接程序内部使用。

如果在外接程序中但不是在宏记录模式下调用 Pause,则此方法不起作用,但是不会发生任何错误。

示例

public void CodeExample(DTE2 dte, AddIn addin)
{
    // INSTRUCTIONS: Run this code, open a solution, start
    // recording a macro, then connect the add-in containing this code.
    try
    {
        Macros mac = dte.Macros;
        if (mac.IsRecording)
        {
            mac.Pause();
            if (!mac.IsRecording)
                mac.Resume();
            mac.EmitMacroCode("rem Code added by the EmitMacroCode method");
            // Demonstrate these two properties return the same reference.
            bool test = mac.DTE.Equals(mac.Parent);
            if (test) MessageBox.Show("The DTE and Parent property refer to the same object.");
            else MessageBox.Show("The DTE and Parent property do not refer to the same object.");
        }
        else MessageBox.Show("Start a macro recording session and reconnect addin");
    }
    catch(Exception ex)
    {
        MessageBox.Show(ex.Message);
    }
}

.NET Framework 安全性

请参见

参考

Macros 接口

EnvDTE 命名空间

其他资源

使用宏自动执行重复性操作