2010-10-15 4 views
5

J'ai actuellement un complément de studio visuel et j'ai créé une nouvelle fenêtre de sortie dans laquelle je peux écrire du texte avec succès. Cependant, lorsque la fenêtre de sortie n'est pas ouverte ou qu'elle est réduite, elle ne s'ouvre pas (popup) lorsque j'appelle la méthode Activate() dans le volet. Des idées comment je peux y parvenir?Comment afficher la fenêtre de sortie à partir d'un complément?

+1

Je dirais qu'il n'est généralement pas très approprié pour un complément de basculer automatiquement les fenêtres. Laissez-le à l'utilisateur. –

+0

@Hans - Il peut être utile dans un cas similaire à un Find où, après la recherche, la fenêtre de résultats est mise au point et que vous voulez y attirer l'attention de l'utilisateur. Non? – shaunmartin

+0

@Hans que se passe-t-il si son add-in fait magiquement tout votre travail? –

Répondre

4

Si vous avez créé votre complément à l'aide de l'assistant Add-in, vous devriez avoir une méthode Exec() comme ci-dessous. J'ai ajouté deux lignes qui provoquent l'ouverture de la fenêtre de sortie et deviennent visibles, que ce soit à l'origine fermé ou réduit. J'ai testé cela dans VS2008 et 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

Merci, était exactement ce dont j'avais besoin. – gouldos

+0

Cela a été utile dans un VSPackage, alors merci pour cela. Ça me rendait fou! Le code doit être légèrement modifié pour utiliser _dte.Windows au lieu de _applicationObject. –

Questions connexes