将控制台应用程序直接输出到Visual Studio而不是外部Windows控制台中

Make output of console application directly into Visual Studio and not external Windows console

本文关键字:控制台 Windows Studio 外部 Visual 应用程序 输出      更新时间:2023-10-16

作为Visual Studio Community(2017(的新用户,我惊讶地发现我的C++控制台应用程序在IDE外部的控制台中运行。

所以我想知道如何让我的程序直接在 IDE 中运行,就像 Eclipse、VSCODE、IntelliJi 等一样。

我已经尝试了关于这个主题的建议解决方案:如何在Visual Studio输出窗口中运行控制台应用程序,而不是打开新的命令提示符? 但它不适用于我的VSC版本(2017(。

我想知道我的版本是否可以,如果是,必须对 IDE 的配置进行哪些更改。

现在如何工作

我想成为什么样的人

在托管代码中,您可以尝试使用System::Diagnostics::Debug::Write.在非托管代码中,可以尝试使用 OutputDebugString。在这两种情况下,文本都将转到"输出"窗口,而不是"即时"窗口。如果要在即时窗口中使用它,可以在VS中转到"工具"->"选项"-">调试"->"常规",然后选中"将所有输出窗口文本重定向到即时窗口"选项。

使用"即时"窗口可以调试和计算表达式、执行语句和打印变量值。而且我们无法在"即时"窗口中运行控制台应用程序。

就我而言,我们不能将the system console等同于Immediate window。控制台应用程序应在系统控制台中运行。

如果在 IDE 的调试器中运行程序,则可以使用 OutputDebugString 而不是写入标准输出(即 std::cout(。这样,程序的输出将显示在 IDE 的输出窗口中。

但是,此功能仅用于调试目的,不用于正常使用。