当 std::cout 转到 VSCode 的 "Output" 窗格时,std::cin 在哪里

Where is std::cin when std::cout is going to the "Output" pane of VSCode

当我在 Visual Studio 代码中执行“运行 代码”命令时 Windows 中的代码(这是我在编辑器中右键单击时的第一个选项),std::cout 输出到 VSCode 的“输出”面板。但是当这种情况发生时,std::cin 在哪里?您无法在“输出”窗格中键入,并且代码在任何 cin 行挂起。

当我这样 运行 时,是否有其他地方正在作为 std::cin 工作?如果没有,是否有某种方法可以配置“运行 代码”命令,以便 cincout 进入终端?我已经尝试编辑 settings.json 的 console 参数,就像 this github 问题的第一个解决方案(或其最新的等价物,因为 externalConsole 选项已弃用),但它无济于事,我认为是因为输出根本不会进入任何控制台。

(此外,“运行 代码”命令不会进入调试会话,只是编译和执行。常规调试工作正常,cincout 转到终端在 settings.json)

中指定

你说的是VSCode的两个扩展名。

  • 右键菜单中的“运行 代码”命令可能是由扩展 Code Runner
  • 提供的
  • 'settings.json' 和 issue talks about the Microsoft's official C/C++ support extension C/C++

对于您的情况,如果您想使用进程的标准输入

,您可能需要为 Code Runner 设置此设置
"code-runner.runInTerminal": true,