Share via


Macros.Pause 方法

暫停巨集錄製器,不會將任何程式碼寫入目前正在錄製的巨集 這個方法不應從巨集內使用。

命名空間:  EnvDTE
組件:  EnvDTE (在 EnvDTE.dll 中)

語法

'宣告
Sub Pause
void Pause()
void Pause()
abstract Pause : unit -> unit 
function Pause()

備註

當一個巨集命令叫用 (Invoke) 另一個巨集命令以執行其工作,但是第一個命令並不需要,或者不想要在巨集中錄製第二個命令時,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 命名空間

其他資源

使用巨集自動執行重複的動作