【问题标题】:How to display console output in output window in Visual Studio Addin?如何在 Visual Studio Addin 的输出窗口中显示控制台输出?
【发布时间】:2015-06-24 16:15:37
【问题描述】:

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

但是,我想隐藏 shell 窗口并在 Visual Studio 输出窗口中显示日志。有没有办法实现这个?

这是我运行命令的代码:

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();

【问题讨论】:

标签: c# visual-studio visual-studio-2012 visual-studio-addins


【解决方案1】:

据此similar question

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

【讨论】:

    【解决方案2】:

    这可能会有所帮助:

    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());
    

    【讨论】:

    猜你喜欢
    • 2020-11-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多