2010-10-15 16 views
5

Şu anda bir görsel stüdyo eklentisi var ve başarılı bir şekilde metin yazabileceğim yeni bir çıkış penceresi bölmesi oluşturdum. Ancak, çıkış penceresi açık olmadığında veya en aza indirildiğinde, bölmedeki Activate() yöntemini çağırdığımda açılmıyor (açılır). Bunu nasıl başarabilirim?Çıkış penceresi nasıl eklenir?

+1

Otomatik olarak pencereleri otomatik olarak değiştirmek için eklentinin genellikle uygun olmadığını söyleyebilirim. Kullanıcıya bırak. –

+0

@Hans - Bulmaya benzer bir durumda, aramadan sonra, sonuç penceresine odaklama yapıldığında ve kullanıcının dikkatini oraya yönlendirmek istediğinizde yararlı olabilir. Yok hayır? – shaunmartin

+0

@Hansın eklentisi tüm işinizi sihirli bir şekilde yaparsa ne yapar? –

cevap

4

Eklentinizi Eklenti sihirbazını kullanarak oluşturduysanız, aşağıdaki gibi bir Exec() yöntemine sahip olmanız gerekir. Çıktı penceresinin, orijinal olarak kapalı mı yoksa minimize edilmiş olmasına bakılmaksızın açılmasına ve görünür hale gelmesine neden olan iki satır ekledim. Bunu VS2008 ve VS2010'da test ettim.

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

Teşekkür ederim, tam ihtiyacım olan şey buydu. – gouldos

+0

Bu bir VSPackage'da da kullanışlıdır, bunun için teşekkürler. Bu beni deli ediyor! Kod _applicationObject yerine _dte.Windows kullanmak için biraz değiştirilmelidir. –

İlgili konular