locked
adding output window to tab in visual studio 2008 RRS feed

  • Question

  • Hello, 

    I want to add the output of my application to appear in visual studio tab instead of new window. Ie when i run my application the output windows form should come in the tab, where start page, designer page etc is present. Is this possible?

     

    Thanks

    Pranay

    Tuesday, July 13, 2010 3:07 PM

Answers

  • Helllo,

    If your application is cross process boundary, you should use automation way. You could not get the package Com object across process boundary, but you could when using a DTE object.

    See this link, and note the answer from Ed Dore.

    http://social.msdn.microsoft.com/Forums/en-US/vsx/thread/5a4ad9f4-2769-49bb-ab4b-46414685b936/

    Thanks

    Chao

    • Marked as answer by Chao Kuo Tuesday, July 20, 2010 1:49 AM
    Thursday, July 15, 2010 3:18 AM
  • Hi, Pranay

    I want to add the output of my application to appear in visual studio tab instead of new window.

    Could you tell me whether your application is an add-on or a normal application in another process?

    If your application is an add-on, you just need to use OutputWindowPane.OutputString Method .

    If your application is across process boundary, you need to marshal the DTE object across process boundary.

    See this link on how to this(Note Leonard Jiang have given us perfect code).

    http://social.msdn.microsoft.com/Forums/en-US/vsx/thread/3120db69-a89c-4545-874f-2d61c9317c8a/

    And for how to make your output window dock as a document window, see the following code.

                        Window outputWin = dte.Windows.Item(Constants.vsWindowKindOutput);

                        outputWin.IsFloating = false;

                        outputWin.Linkable = false;

    Thanks

    Chao

    • Marked as answer by Chao Kuo Tuesday, July 20, 2010 1:49 AM
    Wednesday, July 14, 2010 6:13 AM

All replies

  • Hi, Pranay

    I want to add the output of my application to appear in visual studio tab instead of new window.

    Could you tell me whether your application is an add-on or a normal application in another process?

    If your application is an add-on, you just need to use OutputWindowPane.OutputString Method .

    If your application is across process boundary, you need to marshal the DTE object across process boundary.

    See this link on how to this(Note Leonard Jiang have given us perfect code).

    http://social.msdn.microsoft.com/Forums/en-US/vsx/thread/3120db69-a89c-4545-874f-2d61c9317c8a/

    And for how to make your output window dock as a document window, see the following code.

                        Window outputWin = dte.Windows.Item(Constants.vsWindowKindOutput);

                        outputWin.IsFloating = false;

                        outputWin.Linkable = false;

    Thanks

    Chao

    • Marked as answer by Chao Kuo Tuesday, July 20, 2010 1:49 AM
    Wednesday, July 14, 2010 6:13 AM
  • if i make it like an ADDON/VS package is there any way? the outputwindowpane method is not clear, can you point to any example for addon/pacakge. 
    Wednesday, July 14, 2010 8:01 PM
  • Helllo,

    If your application is cross process boundary, you should use automation way. You could not get the package Com object across process boundary, but you could when using a DTE object.

    See this link, and note the answer from Ed Dore.

    http://social.msdn.microsoft.com/Forums/en-US/vsx/thread/5a4ad9f4-2769-49bb-ab4b-46414685b936/

    Thanks

    Chao

    • Marked as answer by Chao Kuo Tuesday, July 20, 2010 1:49 AM
    Thursday, July 15, 2010 3:18 AM