2010-10-15 22 views
5

我目前有一個Visual Studio插件,並創建了一個新的輸出窗口窗格,我可以寫入文本以成功完成。但是,當輸出窗口未打開或已最小化時,當我調用窗格上的Activate()方法時,它不會打開(彈出)。任何想法我可以如何實現這一目標?如何顯示加載項的輸出窗口?

+1

我想說它通常不是非常適合自動切換窗口的加載項。留給用戶。 – 2010-10-15 16:35:10

+0

@Hans - 在類似於Find的情況下,它可能很有用,在搜索之後,結果窗口被給予焦點並且您希望引導用戶注意那裏。沒有? – shaunmartin 2010-10-15 16:41:12

+0

@Hans如果他的插件神奇地做了你所有的工作? – 2010-10-15 16:41:13

回答

4

如果您使用加載項嚮導創建加載項,則應該有如下所示的Exec()方法。我添加了兩行,導致「輸出」窗口打開並變得可見,無論它最初是關閉還是最小化。我在VS2008和VS2010中測試了這個。

public void Exec(string commandName, vsCommandExecOption executeOption, ref object varIn, ref object varOut, ref bool handled) 
{ 
    handled = false; 
    if(executeOption == vsCommandExecOption.vsCommandExecOptionDoDefault) 
    { 
     if(commandName == "AddinTest.Connect.AddinTest") 
     { 
      // Find the output window. 
      Window outputWindow = _applicationObject.Windows.Item(Constants.vsWindowKindOutput); 
      // Show the window. (You might want to make sure outputWindow is not null here...) 
      outputWindow.Visible = true; 

      handled = true; 
      return; 
     } 
    } 
} 
+0

謝謝,正是我所需要的。 – gouldos 2010-10-18 09:00:36

+0

這在VSPackage中也很有用,所以非常感謝。這讓我瘋狂!代碼需要稍微修改,以使用_dte.Windows而不是_applicationObject。 – 2012-12-30 10:59:14

相關問題