【问题标题】:Where is the console.log output?console.log 输出在哪里?
【发布时间】:2017-12-07 21:00:09
【问题描述】:

我找不到 console.log 输出。我试过 Ctrl-shift-C 来打开一个 shell 但得到了

[8710:0507/113328:INFO:CONSOLE(141)] “未捕获的错误:spawn x-terminal-emulator ENOENT",来源:events.js (141)。

此外,F12 控制台没有为应用程序提供控制台输出。

【问题讨论】:

  • 你的意思是你正在用 VSCode 调试的应用程序的输出吗?
  • 我只是在测试使用一些 console.log 语句调试命令行节点应用程序。我发现 VSCode 产生了一个新的子进程 /usr/bin/node --debug-brk=56058 app.js {options} 并且 'lsof -p {nodeprocess}' 表示 stdout/1u 已连接到 unix 套接字.我在 VSCode 的查看/输出菜单上期待标准输出

标签: linux visual-studio-code


【解决方案1】:

默认情况下,Visual Studio Code 会在 调试控制台 中启动一个用于调试的程序,您可以在其中看到程序的 stderr 和 stdout 输出。 此外,调试控制台是一个 REPL,因此您可以与调试会话交互并评估表达式(如果您正在使用的调试扩展支持)。此 REPL 功能的结果是,如果您的程序从标准输入读取,您将无法通过调试控制台与之交互。 解决方案是将调试会话配置为使用集成终端外部终端而不是调试控制台。对于node.js的调试,前者可以通过在启动配置中添加"console": "integratedTerminal"属性来实现。

【讨论】:

  • 更新答案可能比在不正确的答案中添加评论更好。
【解决方案2】:

您可以使用CTRL + `(反引号)open the terminal(Windows 或 Linux),或使用“查看 -> 集成终端”,如果您有不同的设置,这也会显示不同的键绑定向上,例如我的似乎是CTRL + '(单引号),尽管文档说了什么。

集成终端和输出窗口都是显示的工具栏的一部分 - 所以要查看输出切换到“输出”选项卡。

输出选项卡包含任务输出等内容,终端选项卡可用于运行命令并查看输出,您可以运行node consoleapp.js,您会看到内联输出。 p>

如果您使用的是任务运行器,例如 Gulp,您可以使用 VSCode 任务运行器(显示在输出中)运行任务,并且可以使用扩展名(例如 Gulp Tasks)来可视化任务。

Gulp 任务可视化显示在您的文件列表下方,但运行任务的输出仍显示在您的“输出”选项卡中。

【讨论】:

  • 我在考虑命令行应用程序的 console.log 语句的输出。目前看来是不可能的。我发现可以在link 中重定向正在运行的进程的标准输出
  • 显示任务的输出与显示运行或调试程序的输出(例如console.log产生的输出)完全无关。所以这个答案没有帮助。
猜你喜欢
  • 2014-01-28
  • 2019-11-23
  • 2018-10-30
  • 1970-01-01
  • 2020-05-02
  • 2016-06-21
  • 2022-01-03
相关资源
最近更新 更多