每次构建/运行时,VS Code 都会打开一个新的调试控制台

Posted

技术标签:

【中文标题】每次构建/运行时,VS Code 都会打开一个新的调试控制台【英文标题】:VS Code opens a new debug console every time I build/run 【发布时间】:2019-05-27 04:53:33 【问题描述】:

每次我在 VSCode 中构建或运行程序时,都会加载一个新的 python 调试控制台。在我知道之前,我有 20 多个,需要开始删除它们。在打开 32 个控制台后,我收到错误消息“终端进程以退出代码终止:256”。我最近将终端从默认控制台更改为 git bash。我怎样才能阻止这个?

【问题讨论】:

我也有同样的问题。您提到 Git Bash 促使我将 VS Code 设置 terminal.integrated.shell.windows 更改回默认值而不是 Git Bash,现在问题已经消失了。您可能已经知道,这似乎是一个特定于使用 Git Bash 作为默认 VS Code 终端的错误。 为了能够调试使用外部包的脚本(包“inq​​uirer”,它输出基于文本的向导,并且其输出未显示在调试控制台中)。在调试时,我没有注意到每个调试都打开了另一个终端。我遇到的错误来自 git: "*** fatal error - console device allocation failure - too many consoles in use, max consoles is 32" 。看起来这个数字是固定的 见我的detailed answer here。 【参考方案1】:

解决此问题的一种方法是首先在调试期间阻止 VS Code 冗余打印到 TERMINAL。由于它也打印到​​DEBUG CONSOLE,因此您可以使用它。

在项目的launch.json 文件中的每个配置中将console 更改为"none" "internalConsole"

"configurations": [
    
        "name": "Python: Current File",
        "type": "python",
        "request": "launch",
        "program": "$file",
        "console": "internalConsole"
    
]

2019 年 5 月更新:"none" 选项已替换为 "internalConsole",因此我编辑了答案以反映这一点。这是相关的GitHub Issue。

【讨论】:

请注意,internalConsole 不允许标准输入(即通过控制台要求用户输入),因此此解决方案可能不可行。请参阅this answer 中的替代解决方案我通过记录一个缺陷验证了 Python 扩展如何请求终端但它没有被核心 VS Code 框架重用。 Python 代码的人说它应该重用它......不过肯定有问题,因为如果你启动一个 Python 脚本,它将为该函数重用相同的“Python”命名终端......【参考方案2】:

"args": ["&&", "exit"], 添加到 launch.json 可以解决 Git Bash 的问题。当然是 hack,但我不再需要手动关闭许多调试终端。

【讨论】:

在我的情况下这不起作用,但"args": ["\n","exit", "0"] 起作用了。无论如何,谢谢你为我指明了正确的方向? 嗯,马上关闭就看不到结果了【参考方案3】:

其实你可以删除终端的所有实例,只需点击垃圾桶图标?。如果第一次还是不行,重启VS Code再试一次。

【讨论】:

如果长时间调试会话打开了太多控制台,点击删除实际上会导致崩溃或挂起。我已经在大约 10 个打开的调试控制台中看到了这种行为。不是解决方案 使用太多实例存在内存限制。 VS Code 仍然需要一些改进。我已经用一些 Java 代码进行了测试,每次运行代码时都会调用一个新实例。结果是在幕后打开了很多控制台。【参考方案4】:

希望在 Insiders Build 中得到修复,并且应该在 v1.54 中。见Debug opens a new integrated terminal for each Python session 。如果可以,请在 Insiders Build 中对其进行测试,并报告问题是否已修复/未修复。

【讨论】:

以上是关于每次构建/运行时,VS Code 都会打开一个新的调试控制台的主要内容,如果未能解决你的问题,请参考以下文章

每次我`git commit`时VS Code的Typescript IntelliSense都会中断

已经安装了python,为啥每次打开vs code,python扩展都会出现如图的提示?

当我启动eclipse并运行android项目时,它每次都会打开一个新的模拟器,

每次打开visual studio code都会出现这么一个小黑框,而且电脑变得巨卡,这是为啥啊

VS Code打开新的文件会覆盖窗口中的,怎么改

VS Code打开新的文件会覆盖窗口中的,怎么改