You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VS Code中原本可用的Ctrl+C快捷键失效原因排查求助

VS Code 1.78.2中Ctrl+C无法触发Python SIGINT信号的问题解决

问题现象

在VS Code 1.78.2版本中,原本用于终止进程、发送SIGINT信号的Ctrl+C快捷键突然失效。运行测试Python代码时,终端能识别到Ctrl+C(显示^C),但无法触发信号处理函数,进程始终无法终止。

测试代码

import signal
import sys
import time


def signal_handler(sig, frame):
    print("You pressed Ctrl+C!")
    sys.exit(0)

if __name__ == "__main__":
    signal.signal(signal.SIGINT, signal_handler)
    print("Press Ctrl+C")
    while True:
        time.sleep(1)

终端输出

python test.py
Press Ctrl+C
^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C

VS Code版本信息

版本: 1.78.2 (Universal)
提交: b3e4e68a0bc097f0ae7907b217c1119af9e03435
日期: 2023-05-10T14:44:45.204Z
Electron: 22.5.2
Chromium: 108.0.5359.215
Node.js: 16.17.1
V8: 10.8.168.25-electron.0
操作系统: Darwin x64 17.7.0
沙箱: 否

解决方法

  • 调整终端集成设置:打开VS Code设置,搜索terminal.integrated.sendKeybindingsToShell,将其设置为true,确保快捷键直接发送给终端Shell而非VS Code自身处理。
  • 检查终端Shell配置:若使用默认Shell(如zsh、bash),尝试切换到其他Shell测试,或重置Shell配置文件(如.zshrc、.bashrc),排除自定义绑定干扰Ctrl+C的默认行为。
  • 排查扩展冲突:暂时禁用近期安装的扩展,通过命令面板执行Disable All Installed Extensions后重启VS Code,确认是否有扩展拦截了信号传递。
  • 重置VS Code配置:若上述方法无效,通过命令面板执行Preferences: Reset Settings恢复默认设置,排除自定义配置导致的异常。
  • 临时终止方案:可通过终端Ctrl+\发送SIGQUIT信号终止进程,或点击终端面板右侧的垃圾桶图标直接关闭进程。

内容的提问来源于stack exchange,提问作者Conrad Sarbak

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 01:35:28