类型:Bug
重现步骤:
- 启动VSCode(任意位置)
- 使用Ctrl+Shift+C启动新的外部终端。在这个例子中,我使用的是命令提示符。
- 启动可以处理Ctrl+C的新程序
- 按Ctrl+C。
预期结果:程序正常处理Ctrl+C。
实际结果:程序根本看不到Ctrl+C。
一个简单的可以处理Ctrl+C的程序示例是Python。然而,任何可以处理Ctrl+C的应用程序都会受到影响(例如我的简单WASAPI回环程序)。请在第2步创建的VSCode终端中运行此Python脚本。
try:
while True:
pass
except KeyboardInterrupt:
print("OK")
如果在运行该脚本时按下Ctrl+C:
- 如果终端/命令提示符是由VSCode启动的,按下Ctrl+C什么都不做。
- 如果终端/命令提示符是由其他方式启动的,按下Ctrl+C会打印“OK”并停止无限循环。
在内部测试版和稳定版(1.87.0)中都可以重现。
VS Code版本:Code - Insiders 1.88.0-insider ( 8c2b09c , 2024-02-28T18:53:20.095Z)
操作系统版本:Windows_NT x64 10.0.22631
模式:
系统信息
| 项目 | 值 |
| ------ | ------ |
| CPUs | AMD Ryzen 7 4700U with Radeon Graphics (8 x 1996) |
| GPU状态 | 2d_canvas:启用canvas_oop_rasterization:启用_ondirect_rendering_display_compositor:禁用_off_okgpu_compositing:启用multiple_raster_threads:启用_onopengl:启用_onrasterization:启用raw_draw:禁用_off_okskia_graphite:禁用_offvideo_decode:启用video_encode:启用vulkan:禁用_offwebgl:启用webgl2:启用webgpu:启用 |
| 负载(平均) | undefined |
| 内存(系统) | 15.39GB(7.43GB可用) |
| 进程参数 | --crash-reporter-id ca2e3ed8-bdf1-4e2a-b9d7-b651fe0eba6b |
| 屏幕阅读器 | 无 |
| VM | 0% |扩展:无A/B实验
4条答案
按热度按时间p5fdfcr11#
+1
hsgswve42#
无论是使用热键还是命令面板打开外部终端,都不会影响内部终端,即
Ctrl+C
仍然可以在那里工作。wlwcrazw3#
请解决这个问题/提供一个解决方案。去年它完全正常工作,不知道发生了什么。
rjzwgtxy4#
对我来说,一个可行的解决方法是在VSCode启动外部终端后运行
wt && exit
。新的Windows Terminal选项卡将不会出现这个问题。不幸的是,只有在用户将Windows Terminal设置为默认的conhost时,这种方法才能起作用。