Paket.VisualStudio
Paket.VisualStudio copied to clipboard
Output window should automatically show whenever there are Paket output messages
The basic rule to follow is this:
Only request the IDE show the output window if the user manually invoked an action for which they are expecting to see output from your extension.
The reason this is so important is Visual Studio only has one output window, and many times users will have it set to show a certain pane they are watching. You never want to change to a different pane when they aren't expecting it. The interesting thing is meeting the above condition is very easy when you simply never tell the IDE to show your output window pane. Typically the first time problems appear is when addressing a bug like this.
My recommendation is to form a list of commands provided by your extension, and determine which ones should automatically show the pane. Then, for each of those commands verify the following things:
- You only show the output pane if the user explicitly clicked the command. For any command where you have code that programmatically invokes the command, you will need to separate these cases to fully distinguish between the user clicking, and the automatic invocation.
- Make sure to show the output pane as a direct operation when you start executing that command in the UI. Don't wait until output becomes available to show the pane, or it could easily appear as though you are breaking the rules above.
I completely agree! I believe @forki can provide additional input regarding the commands that user might expect seeing their output (though I suspect it might be all of them)
I already met this criteria. Issue is Activate() is not enough when there is no output pane opened in vs. We need something like bringtofront or "open damn thing"