必须精准清理HKEY_CURRENT_USER\Software\Microsoft\VS Code及三处OpenWithCode注册表项,删前结束所有Code相关进程,并同步清除%APPDATA%\Code缓存目录。

VSCode启动失败且注册表残留干扰怎么办
直接删注册表不是万能解法,但若 VSCode 启动卡死、右键菜单重复、code 命令无效,大概率是注册表里存了错误路径或冲突项。关键不是“全删”,而是精准定位并清理那几个真正起作用的键。
HKEY_CURRENT_USER\Software\Microsoft\VS Code 必须删
这是用户级配置根,VSCode 启动时优先读取它来恢复窗口布局、最近打开的文件夹、扩展启用状态。如果这个键存在但指向已删除的旧安装路径(比如 C:\Users\olduser\AppData\Local\Programs\Microsoft VS Code\Code.exe),就会导致启动转圈或静默失败。
- 打开
regedit,导航到HKEY_CURRENT_USER\Software\Microsoft\VS Code - 确认该键存在且内容混乱(如
appSettings下有大量空值或路径失效) - 右键整个
VS Code项 → 删除 - 注意:不要删成
VisualStudioCode或VSCode(旧版或第三方别名),只认准VS Code(带空格)
右键菜单出现两个“Open with Code”怎么修
这不是功能异常,是注册表里多写了 shell 项。Windows 资源管理器不校验唯一性,只要匹配 shell\OpenWithCode 或 shell\VSCode 就渲染出来。
- 在
regedit中按Ctrl+F搜索OpenWithCode - 重点检查三处:
HKEY_CLASSES_ROOT\Directory\Background\shell\OpenWithCode、HKEY_CLASSES_ROOT\Directory\shell\OpenWithCode、HKEY_CLASSES_ROOT\*\shell\OpenWithCode - 逐个点开,看子项
command的默认值是否指向一个真实存在的code.cmd(不是Code.exe) - 删掉 command 值为空、路径不存在、或指向已卸载版本的项;每次删一个后,用任务管理器重启
explorer.exe验证效果
删注册表前必须关掉所有 Code.exe 进程
注册表项被进程占用时无法删除,或者删完立刻被重新写入——因为 VSCode 在后台运行时会持续同步状态到注册表。
- 打开任务管理器(
Ctrl+Shift+Esc),在“进程”页签中查找:Code.exe、Code Helper.exe(含 GPU/Renderer 后缀)、Code - Insiders.exe - 全部结束,包括“后台进程”区域里的条目
- 再打开
regedit,否则你看到的键可能被锁住,右键菜单灰掉或删不干净 - 删完注册表后,别急着重启 VSCode——先清
%APPDATA%\Code\Cache和%APPDATA%\Code\GPUCache,否则旧缓存仍会触发相同问题
最常被忽略的是:删了注册表却留着 %APPDATA%\Code 目录。VSCode 启动时发现这个目录还在,会自动把里面的内容(包括损坏的 settings.json 或 workspaceStorage)重新写回注册表,等于白操作。动手前务必同步清理这两个位置。











