Write To Visual Studio’s Output Window
If you have developed a Visual Studio Extension, you might want to output messages to Visual Studio’s Output window. Here’s how to do it:
using Microsoft.VisualStudio.Shell;
using Microsoft.VisualStudio.Shell.Interop;
namespace MunirHusseini.Demos
{
public class VsOutput
{
public static void Output(string msg)
{
// Get the output window
var outputWindow = Package.GetGlobalService(typeof(SVsOutputWindow)) as IVsOutputWindow;
// Ensure that the desired pane is visible
var paneGuid = Microsoft.VisualStudio.VSConstants.OutputWindowPaneGuid.GeneralPane_guid;
IVsOutputWindowPane pane;
outputWindow.CreatePane(paneGuid, "General", 1, 0);
outputWindow.GetPane(paneGuid, out pane);
// Output the message
pane.OutputString(msg);
}
}
}
Of course, you could output to other panels than just “General”. To do that, just change the value of the variable paneGuid. Possible values are:
| BuildOutputPane_guid | The build output pane inside the output window. |
|---|---|
| DebugPane_guid | The debug pane inside the output window. |
| GeneralPane_guid | The general output pane inside the output window. |
| SortedBuildOutputPane_guid | The sorted build output pane inside the output window. |
| StoreValidationPane_guid | The store validation pane inside the output window. |
For a visual demonstration, please watch this video.
Category: Visual Studio