最稳方案是直接修改注册表添加“用 Code 打开”右键菜单,需用 Code.exe 完整路径并正确使用 "%V" 传参,区分用户版与系统版路径,确保 command 值中路径和 "%V" 均被英文双引号包裹。

Windows 上右键菜单添加“用 Code 打开”
直接改注册表最稳,不依赖 VS Code 自带的 shell 命令(它常失效或只对当前用户生效)。关键是把 Code.exe 的完整路径写进注册表项,并确保支持文件夹路径传参。
- 先确认你装的是用户版还是系统版:
%LOCALAPPDATA%\Programs\Microsoft VS Code\Code.exe(用户版)或C:\Program Files\Microsoft VS Code\Code.exe(系统版),用资源管理器打开对应路径,右键复制完整路径 - 新建一个
.reg文件(比如vscode-folder-context.reg),粘贴以下内容(注意替换YOUR_CODE_PATH为上面复制的真实路径):
Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\Directory\shell\Open with Code] @="用 Code 打开" "Icon"="YOUR_CODE_PATH" [HKEY_CLASSES_ROOT\Directory\shell\Open with Code\command] @="\"YOUR_CODE_PATH\" \"%V\""
- 双击运行该
.reg文件,点“是”导入;之后右键任意文件夹就能看到“用 Code 打开”选项 - 如果点完没反应,大概率是路径里有空格但没加英文引号 —— 检查
command项里的"%V"前后是否都用英文双引号包住了整个命令
为什么 code --folder 或 code . 不适合注册表
注册表 command 值执行的是 Windows 原生命令行,不走 PowerShell 或 CMD 初始化环境,所以没法自动识别 code 命令别名,也不加载 shell 的 PATH。硬写 code --folder "%V" 会报 'code' is not recognized。
-
code命令本质是Code.exe的软链接或 shell 脚本,只在终端里有效 - 注册表必须指向可执行文件本体,且显式传入参数
"%V"(Windows 表示当前右键对象的路径) - 别用
%1:它对文件夹无效,%V才是文件夹上下文的正确占位符
VS Code 自带的“通过 Code 打开”为什么会失效
VS Code 安装时勾选“Add to PATH”或“Register as editor for .txt files”等选项,只是往当前用户的 HKEY_CURRENT_USER 下写注册表,而且只注册了文件类型,没注册文件夹右键项;重装、多用户、权限受限时容易丢失。
- 它注册的位置是
HKEY_CURRENT_USER\Software\Classes\Directory\shell\...,而系统级右键菜单优先读HKEY_CLASSES_ROOT - 如果你用的是企业策略锁定的电脑,
HKEY_CURRENT_USER可能被重定向或禁止写入,但HKEY_CLASSES_ROOT导入通常仍有效 - 自带功能不支持“以管理员身份运行”,而手动注册的项可以右键 → “以管理员身份运行”(需额外加
runas键,但一般没必要)
Mac 和 Linux 用户别折腾右键菜单
macOS 没有原生文件夹右键“用 VS Code 打开”的注册机制;Linux 桌面环境(GNOME/KDE)依赖 .desktop 文件 + inode/directory MIME 类型,但各发行版行为不一致,容易和系统文件管理器冲突。
- macOS 更可靠的做法是:把
code命令加入$PATH,然后在终端用code /path/to/folder;或用 Automator 打包成服务(但仅限当前用户,且 Finder 服务响应慢) - Linux 推荐用 Nautilus 脚本(GNOME)或 Krusader 自定义命令(KDE),而不是硬改
mimeapps.list—— 后者可能让所有文件夹默认用 Code 打开,包括系统设置目录 - 跨平台自动化脚本里,永远用
code命令而非路径,因为code会自动找已安装的实例并复用窗口
真正麻烦的是路径中含中文或特殊符号时的编码问题,Windows 注册表本身不处理 UTF-8,但 "%V" 在 Win10+ 一般能正确传递;如果遇到乱码,说明你的系统区域设置非 Unicode,这时候只能避免在路径里用 emoji 或生僻字。










