右键菜单生效需注册表路径完全正确:从开始菜单快捷方式属性复制code.exe真实路径,将单反斜杠替换为双反斜杠后,填入覆盖三类场景(文件、文件夹、背景)的.reg文件,并以ansi编码保存。

找到你的 Code.exe 真实路径
右键菜单能生效的前提,是注册表里写的路径完全正确——不能少一个反斜杠,也不能多一个空格。最稳妥的方式不是猜或手打,而是从开始菜单进:右键 VS Code 快捷方式 → 属性 → “快捷方式”选项卡 → 复制“目标”框里的完整路径。比如你看到的是:C:UsersAliceAppDataLocalProgramsMicrosoft VS CodeCode.exe,那就直接用它,别手动改成 ~/AppData/... 或省略 AppData 这种隐藏目录。
注意:路径中所有 在注册表文件里必须写成 \(双反斜杠),因为 .reg 文件解析时把单个 当转义符处理。所以复制完要全局替换一次: → \。
写一个能同时覆盖三种右键场景的 .reg 文件
Windows 有三类右键位置需要分别注册:点在空白处(背景)、点在文件夹图标上、点在普通文件上。只配一种,其他地方就看不到菜单。下面这个内容已合并三类,你只需替换一处路径:
Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT*shellVSCode] @="Open with Code" "Icon"="C:\Users\Alice\AppData\Local\Programs\Microsoft VS Code\Code.exe" [HKEY_CLASSES_ROOT*shellVSCodecommand] @=""C:\Users\Alice\AppData\Local\Programs\Microsoft VS Code\Code.exe" "%1"" [HKEY_CLASSES_ROOTDirectoryshellVSCode] @="Open with Code" "Icon"="C:\Users\Alice\AppData\Local\Programs\Microsoft VS Code\Code.exe" [HKEY_CLASSES_ROOTDirectoryshellVSCodecommand] @=""C:\Users\Alice\AppData\Local\Programs\Microsoft VS Code\Code.exe" "%V"" [HKEY_CLASSES_ROOTDirectoryBackgroundshellVSCode] @="Open with Code" "Icon"="C:\Users\Alice\AppData\Local\Programs\Microsoft VS Code\Code.exe" [HKEY_CLASSES_ROOTDirectoryBackgroundshellVSCodecommand] @=""C:\Users\Alice\AppData\Local\Programs\Microsoft VS Code\Code.exe" "%V""
关键细节:
-
%1用于文件,%V用于文件夹(尤其背景右键必须用%V,否则打开的是桌面路径) -
"Icon"行可删,但留着能让菜单项带 VS Code 图标,更直观 - 保存为
vscode-rightclick.reg时,**务必选“ANSI”编码**(记事本另存为 → 编码下拉选 ANSI),UTF-8 编码会导致注册表导入失败且无提示
双击导入后没反应?检查这三点
常见假性失败:点了“是”,没报错,但右键还是没菜单。先别重来,快速排查:
- 是否以管理员身份运行了
.reg文件?不需要——普通用户权限即可写HKEY_CLASSES_ROOT - 是否改了
Icon路径但没同步改command里的路径?两处必须一致 - 是否在资源管理器里开了多个窗口?改完注册表后,**关掉所有资源管理器窗口再重新打开**,旧进程不刷新右键菜单
如果仍无效,打开 regedit,手动导航到 HKEY_CLASSES_ROOTDirectoryBackgroundshellVSCode,看右侧有没有 默认 和 command 两个值,值数据是否和你写的完全匹配(包括引号、空格、双反斜杠)。
Mac 用户别套用 Windows 方案
macOS 没有注册表,用的是 Automator + 服务(Services)。核心命令是:open -a "Visual Studio Code" "$f",不是调用 Code.exe。如果你在 Mac 上试了 Windows 的 .reg 文件,它根本不会执行——连双击都会提示“无法打开此文件”。
真正容易被忽略的一点:VS Code 安装路径在 Mac 上通常是 /Applications/Visual Studio Code.app,但 Automator 里填的必须是应用全名 Visual Studio Code(不含 .app 后缀),否则 open -a 找不到。










