vs code卡死在「正在退出」需手动清理残留进程:windows结束所有code.exe,macos用killall -9 electron/code,linux用pkill -f "code --no-sandbox";禁用扩展(如settings sync、remote-ssh)可定位阻塞源;mac勿强制退出,应先重开或发term信号;退出前关闭终端可避免子进程滞留。

VS Code 卡死在「正在退出」状态
这是 Electron 应用常见的僵死现象,本质是某个扩展或渲染进程没响应退出信号。直接关窗口只会让进程残留,下次启动可能更卡。
别等它自己好——Ctrl+Shift+P 或菜单栏都失效时,说明主进程已挂起,必须手动清理。
- Windows:打开任务管理器 → 结束所有
Code.exe进程(注意有多个:主进程、渲染进程、GPU 进程) - macOS:执行
killall -9 Electron或killall -9 "Visual Studio Code";如果装了 insiders 版,还得加一句killall -9 "Code - Insiders" - Linux:
pkill -f "code --no-sandbox"或更稳妥的killall -q code,再补一句killall -q Electron
退出前 VS Code 一直转圈 / 无响应
不是真卡,而是某个扩展正在执行异步清理逻辑(比如保存远程文件、上传日志、同步设置),但没设超时或被阻塞。
临时解法是禁用可疑扩展再试退出:
- 启动时加
--disable-extensions参数:终端运行code --disable-extensions - 进到安全模式后立刻尝试退出,确认是否恢复
- 若恢复正常,逐个启用扩展排查——重点关注带「auto save」「sync」「telemetry」「remote ssh」字样的扩展
常见罪魁:Settings Sync、Remote - SSH、GitLens(尤其在未完成 Git 操作时)。
Mac 上 Cmd+Q 没反应,Dock 图标还在弹跳
这是 macOS 的「应用未响应」表现,VS Code 渲染线程卡住,系统没收到 applicationWillTerminate: 回调。
不要右键 Dock 图标选「强制退出」——这会跳过清理流程,导致工作区锁文件(.vscode/.workspacev2)残留,下次打开可能报错 Unable to create lock file。
- 先按
Cmd+Option+Esc呼出「强制退出」窗口,选中 VS Code → 点「重新开启」(不是「强制退出」) - 如果无效,再用终端
kill -TERM $(pgrep -f "Code.*--ms-enable-electron-run-as-node")发送温和终止信号 - 最后才用
-9,并记得删掉~/.vscode/.machineid.lock和项目下的.vscode/.workspacev2.lock
退出后进程还在,占用 CPU 或端口
典型症状是重启 VS Code 报错 Address already in use,或者 top / 任务管理器里看到一堆 node 或 Code Helper 进程。
根本原因是子进程(如 TypeScript Server、ESLint Server、Jest Runner)没随主进程退出:
- 关闭前手动停掉语言服务:按
Ctrl+Shift+P→ 输入Typescript: Restart TS server,先重启再退出 - 禁用自动启动的服务:在
settings.json加"typescript.preferences.includePackageJsonAutoImports": "off",减少后台活动 - 检查是否有终端没关:集成终端里跑着
nodemon、webpack serve之类长期进程,它们会 hold 住父进程
最省事的兜底操作:退出前先关掉所有终端页签,再关编辑器窗口——很多「退不出去」其实只是忘了关那个挂着 npm run dev 的终端。










