【问题标题】:Where is std::cin when std::cout is going to the "Output" pane of VSCode当 std::cout 进入 VSCode 的“输出”窗格时,std::cin 在哪里
【发布时间】:2021-08-04 07:05:10
【问题描述】:

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

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

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

【问题讨论】:

  • 如果您是debugging,您应该会在调试控制台中看到输出。
  • 对不起,我的意思是调试和运行(无论 F5 默认做什么)。在任何情况下,cin 在调试期间都没有损坏,这不是我要问的。

标签: c++ visual-studio-code std vscode-code-runner


【解决方案1】:

你说的是VSCode的两个扩展。

  • 右键菜单中的“运行代码”命令可能由扩展Code Runner提供
  • “settings.json”和issue 讨论了微软官方的C/C++ 支持扩展C/C++

对于你的情况,如果你想使用进程的标准输入,你可能需要为Code Runner设置这个设置

"code-runner.runInTerminal": true,

【讨论】:

  • 是的!完美运行!
猜你喜欢
  • 1970-01-01
  • 2011-02-17
  • 1970-01-01
  • 2021-02-26
相关资源
最近更新 更多