vscode插件异常多因残留进程未清理,如tensorboard占用6006端口致python插件失败;需用ps aux | grep tensorboard定位并kill -15/-9终止;禁用插件仍卡顿则清理shared-process等共享进程;还需清除workspacestorage和*-cache残留。

VSCode插件异常十有八九是残留进程没清干净,不是插件坏了,而是旧进程还在抢端口、占内存、监听文件——直接杀进程比重装插件快十倍。
ps aux | grep tensorboard 类进程卡死导致插件功能失效
TensorBoard 插件关闭后不退出,会持续占用 6006 端口,后续启动的 Python 插件(如 ms-python.python)尝试调用本地 TensorBoard 时直接失败,表现为“运行按钮无响应”或控制台报 RuntimeError: Resource temporarily unavailable。
- 这类进程不会出现在 VSCode 的
Developer: Open Process Explorer里,因为它根本没走 Extension Host,而是独立 fork 出来的 Python 子进程 - Windows/macOS/Linux 均可用
ps aux | grep tensorboard查找,注意过滤掉grep自身(加| grep -v grep) - 找到 PID 后优先用
kill -15 [PID]尝试优雅终止;若无响应再用kill -9 [PID] - 常见残留路径示例:
/usr/bin/python /home/user/.vscode/extensions/.../tensorboard.py,别只看命令名,要核对完整路径是否指向插件目录
code --disable-extensions 启动仍卡顿?说明进程残留已绕过插件加载层
当执行 code --disable-extensions 后依然卡顿、右键无菜单、终端打不开,基本可断定问题出在共享进程(Shared Process)或语言服务器子进程上——它们在插件禁用逻辑生效前就已启动并驻留。
- 典型表现:状态栏显示
Shared Process: Not Responding,且Developer: Show Running Extensions为空或仅显示内置插件 - 必须手动清理:
ps aux | grep -E "(code-helper|exthost|shared-process|pylance|rust-analyzer)",重点盯住用户属主和高 CPU/RSS 的条目 - Linux/macOS 推荐一键清理:
killall -u $USER code-helper exthost shared-process;Windows 请在任务管理器中结束全部Code.exe、Code Helper.exe、node.exe - 清理后不要点“重载窗口”,必须彻底关闭所有 VSCode 窗口再重新
code --disable-extensions启动
workspaceStorage 和 extensions/cache 目录残留引发插件反复激活失败
插件卸载后,workspaceStorage 里存着旧项目的语言服务器快照,extensions 下的 *-cache 文件夹则保留着损坏的临时包——两者都会让新装同名插件一启动就卡在 Activation failed,控制台报 Cannot read property 'onDidChangeActiveTextEditor'。
-
workspaceStorage路径(按修改时间删):
Windows:%APPDATA%\Code\User\workspaceStorage
macOS:~/Library/Application Support/Code/WorkspaceStorage
Linux:~/.config/Code/WorkspaceStorage -
*-cache文件夹只删扩展目录下名字以-cache结尾的子目录,例如ms-python.python-2026.3.1-cache,但绝不能删ms-python.python-2026.3.1 - PowerShell 一行清理 cache:
Get-ChildItem "$env:USERPROFILE\.vscode\extensions" | Where-Object {$_.Name -match '-cache$'} | Remove-Item -Recurse -Force - 删完必须重启 VSCode,否则缓存仍在内存中映射
真正难处理的不是进程数量多,而是某些插件(比如 Remote-SSH、Copilot、旧版 SFTP)会在后台 spawn 子进程并 detach,这些进程不继承父进程生命周期,关掉 VSCode 也停不掉——得靠 ps + 关键字组合硬搜,漏一个就可能让插件功能间歇性失灵。











