如何在Visual Studio加载项的输出窗口中显示控制台输出

本文关键字:输出 窗口 显示 控制台 加载项 Visual Studio | 更新日期: 2023-09-27 17:59:22

我正在开发一个Visual Studio插件。它将自动生成并运行一个命令行。如果我在shell中运行该命令,它可能会在运行过程中生成一些日志。

但是,我希望隐藏shell窗口,并在VisualStudio输出窗口中显示日志。有办法实现这一点吗?

这是我运行命令的代码:

var process = new System.Diagnostics.Process();
process.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
process.StartInfo.FileName = "cmd.exe";
process.StartInfo.Arguments = "/c"+command; 
process.Start();

如何在Visual Studio加载项的输出窗口中显示控制台输出

根据这个类似的问题

在调试之前将应用程序类型更改为Windows。没有Console窗口,Console。WriteLine的工作原理与Trace类似。WriteLine。不要忘记在调试后将应用程序重置回控制台类型。

这可能会有所帮助:

process.StartInfo.UseShellExecute = false;
process.StartInfo.CreateNoWindow = true;
process.startInfo.RedirectStandardOutput = true;
process.startInfo.RedirectStandardError = true;
StreamReader stringBackFromProcess = process.StandardOutput;
Debug.Write(stringBackFromProcess.ReadToEnd());
// or
Console.Write(stringBackFromProcess.ReadToEnd());