问题
装完 VSCode 后,右键文件夹没有「用 VSCode 打开」的选项。网上普遍说重新跑一遍安装程序,勾选 Add "Open with Code" action to Windows Explorer 就行。
但实际操作下来,很多人(包括我自己)勾选后依然无效。安装程序可能因为权限、旧注册表残留、或安装路径变化等原因没有正确写入。
最直接有效的办法:手动写 .reg 文件导入注册表。
原理
Windows 右键菜单由注册表控制,核心涉及三个位置:
右键菜单
文件夹右键
文件夹空白处右键
文件右键
HKCR\Directory\shell\VSCode
HKCR\Directory\Background\shell\VSCode
HKCR\*\shell\VSCode
default = 显示名称
Icon = 图标路径
command = 启动命令 + %1
default = 显示名称
Icon = 图标路径
command = 启动命令 + %V
default = 显示名称
Icon = 图标路径
command = 启动命令 + %1
| 注册表路径 | 触发场景 | 占位符 | 含义 |
|---|---|---|---|
Directory\shell\VSCode |
右键点击文件夹图标 | %1 |
文件夹完整路径 |
Directory\Background\shell\VSCode |
右键点击文件夹内部空白区域 | %V |
当前目录路径 |
*\shell\VSCode |
右键点击任意文件 | %1 |
文件完整路径 |
三个位置分别对应三种使用场景,全部加上才算完整。
操作步骤
第一步:确认 VSCode 安装路径
打开 VSCode,右键桌面快捷方式 → 属性,看目标路径。常见有两个位置:
- 系统安装 :
C:\Program Files\Microsoft VS Code\Code.exe - 用户安装 :
C:\Users\你的用户名\AppData\Local\Programs\Microsoft VS Code\Code.exe
路径必须写对,否则注册表导入后点了没反应。
第二步:创建 .reg 文件
新建一个文本文件,命名为 vscode-context.reg,粘贴以下内容(替换路径为你自己的 VSCode 路径):
reg
Windows Registry Editor Version 5.00
; ===== 文件夹右键菜单 =====
[HKEY_CLASSES_ROOT\Directory\shell\VSCode]
@="从 VSCode 打开"
"Icon"="C:\\Users\\你的用户名\\AppData\\Local\\Programs\\Microsoft VS Code\\Code.exe,0"
[HKEY_CLASSES_ROOT\Directory\shell\VSCode\command]
@="\"C:\\Users\\你的用户名\\AppData\\Local\\Programs\\Microsoft VS Code\\Code.exe\" \"%1\""
; ===== 文件夹空白处右键菜单 =====
[HKEY_CLASSES_ROOT\Directory\Background\shell\VSCode]
@="从 VSCode 打开"
"Icon"="C:\\Users\\你的用户名\\AppData\\Local\\Programs\\Microsoft VS Code\\Code.exe,0"
[HKEY_CLASSES_ROOT\Directory\Background\shell\VSCode\command]
@="\"C:\\Users\\你的用户名\\AppData\\Local\\Programs\\Microsoft VS Code\\Code.exe\" \"%V\""
; ===== 文件右键菜单 =====
[HKEY_CLASSES_ROOT\*\shell\VSCode]
@="从 VSCode 打开"
"Icon"="C:\\Users\\你的用户名\\AppData\\Local\\Programs\\Microsoft VS Code\\Code.exe,0"
[HKEY_CLASSES_ROOT\*\shell\VSCode\command]
@="\"C:\\Users\\你的用户名\\AppData\\Local\\Programs\\Microsoft VS Code\\Code.exe\" \"%1\""
第三步:导入注册表
双击 vscode-context.reg → 点「是」确认导入。
第四步:验证
右键任意文件夹或文件,应该能看到「从 VSCode 打开」,带 VSCode 图标。
如果没立刻出现,重启资源管理器:
powershell
# PowerShell 一行搞定
Stop-Process -Name explorer -Force
资源管理器会自动重启,右键菜单就刷出来了。
效果
- 右键 文件夹 → 「从 VSCode 打开」→ VSCode 打开整个文件夹
- 右键 文件夹空白处 → 「从 VSCode 打开」→ VSCode 打开当前文件夹
- 右键 任意文件 → 「从 VSCode 打开」→ VSCode 打开该文件

踩坑
坑 1:路径写错
Icon 和 command 里的路径必须和实际安装路径完全一致,比如Icon写错就会没有图标,我让AI帮我写,结果路径是错的,改了才生效。
坑 2:反斜杠转义
.reg 文件里路径的反斜杠必须双写:
"C:\Users\ustbg\AppData\..." //这样是不对的
"C:\\Users\\ustbg\\AppData\\..."
command 里的可执行路径还需要额外加引号转义:
@"C:\Program Files\...\Code.exe" "%1" //这样是不对的
@"\"C:\\Program Files\\...\\Code.exe\" \"%1\""
坑 3:占位符用错
Directory\shell用%1(文件夹路径)Directory\Background\shell用%V(当前目录)*\shell用%1(文件路径)
Background 里如果错误地用 %1,在空白处右键时 VSCode 会打开但工作目录不对。
卸载
如果我想移除这个右键菜单怎么办,也可以通过reg的方式。创建一个 .reg 文件,用减号删除注册表项,这个reg是AI创建的,我自己没有测试,如果将来要清理,可能还得回来看这篇博客,所有先放这儿。
reg
Windows Registry Editor Version 5.00
[-HKEY_CLASSES_ROOT\Directory\shell\VSCode]
[-HKEY_CLASSES_ROOT\Directory\Background\shell\VSCode]
[-HKEY_CLASSES_ROOT\*\shell\VSCode]
总结
| 方式 | 优点 | 缺点 |
|---|---|---|
| 安装程序勾选 | 官方推荐 | 之前我也是这样做,但最近试了几次都不行 |
| 手动 .reg | 直接可控,一定生效 | 需要手动确认安装路径 |
手动确认安装位置推荐使用一款everything的软件:
