右键菜单仍有“Open with Code”是因VSCode卸载未清理注册表残留,需手动删除HKEY_CURRENT_USER\Software\Classes\Directory\shell\Code、*\shell\Code及MuiCache三项,并重启资源管理器生效。

为什么右键菜单里还有“Open with Code”但VSCode已卸载?
这是注册表残留最典型的症状。VSCode安装时会在HKEY_CURRENT_USER\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\MuiCache等位置写入右键上下文菜单项,卸载程序完全不碰这些路径。即使你删了主程序和%APPDATA%\Code,系统仍会从注册表读取旧菜单定义并渲染出来——它指向的exe文件虽已不存在,但菜单项本身还在。
必须清理的三个注册表路径(仅限Windows)
别搜“vscode”全盘删,容易误伤。只处理以下明确关联右键行为的键值:
-
HKEY_CURRENT_USER\Software\Classes\Directory\shell\Code:文件夹右键菜单项,含图标、命令、显示文本 -
HKEY_CURRENT_USER\Software\Classes\*\shell\Code:任意文件右键菜单项(*代表所有文件类型) -
HKEY_CURRENT_USER\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\MuiCache:缓存键,影响菜单是否显示。删后需重启资源管理器或注销重登才生效
注意:HKEY_LOCAL_MACHINE下同类路径极少存在,除非是企业组策略部署版;普通用户安装无需碰这里。
删错注册表会导致什么?
直接删MuiCache整项可能让其他应用(如Notepad++、Git Bash)的右键菜单也消失;删Directory\shell下非Code子项会破坏系统默认功能。务必确认路径末尾是\Code,不是\Code.exe或\VSCode(后者几乎不存在)。操作前用regedit导出该分支,命名如vscode-shell-backup.reg——恢复只需双击导入。
删完不生效?试试强制刷新Shell
注册表改了,但资源管理器进程还在用旧缓存。执行这两步才能立刻看到效果:
- 按
Ctrl+Shift+Esc打开任务管理器 → 找到Windows Explorer→ 右键「重新启动」 - 或者在终端运行:
ie4uinit.exe -ClearIconCache && ie4uinit.exe -show(清图标缓存,避免右键图标异常)
如果仍显示旧菜单,说明你漏删了某个shell\Code变体,比如shell\Code Insiders或shell\Code-OSS,得回到regedit里手动搜索确认。


















