直接绑定 vscode.openFolder 命令到快捷键可实现秒开指定项目,需在 keybindings.json 中配置绝对 file:// 路径;相比 workspaces.openRecent 的不确定性,该方式更精准可靠。

用 vscode.openFolder 绑定快捷键最直接
VSCode 没有“一键打开项目”的默认快捷键,但可以手动绑定 vscode.openFolder 命令到任意组合键,实现秒开指定路径。这不是插件功能,是编辑器原生支持的命令。
- 打开命令面板:
Ctrl+Shift+P(macOS 为Cmd+Shift+P),输入Preferences: Open Keyboard Shortcuts (JSON)回车 - 在打开的
keybindings.json中添加一条记录,例如:[ { "key": "ctrl+alt+1", "command": "vscode.openFolder", "args": { "uri": "file:///Users/you/projects/frontend" } } ] -
uri必须是绝对路径,且需以file://开头;Windows 用户注意反斜杠要双写或改用正斜杠,如file:///C:/dev/backend - 重复添加多条,分别对应不同项目,
ctrl+alt+1、ctrl+alt+2就成了你的个人项目热键
为什么不用 workspaces.openRecent 直接替代?
很多人误以为 Ctrl+R(即 workspaces.openRecent)就是“一键打开”,但它本质是历史列表检索,不是精准跳转。你无法保证高频项目总在前三位,也无法避免被新打开的临时文件夹挤掉位置。
-
workspaces.openRecent列表按 LRU(最近最少使用)排序,刚重装系统或清空用户数据后会为空 - 它不区分单文件夹和
.code-workspace文件,点错一个普通文件夹,就丢失了多根上下文 - 搜索依赖路径名关键词匹配,若项目名含空格或特殊字符(如
my-app-v2),输入myapp可能不命中 - 真正需要“确定性”的快速入口时,绑定
vscode.openFolder或双击预存的.code-workspace文件更可靠
工作区文件(.code-workspace)才是长期项目的正确载体
如果你常在前后端、微服务、monorepo 等多个目录间协同开发,硬编码每个 vscode.openFolder 路径反而低效。此时应优先创建 .code-workspace 文件,再为其绑定快捷键或设为桌面图标。
- 必须从空窗口开始操作:关闭所有文件夹 →
Ctrl+Shift+P→Workspaces: Create Workspace→ 多选根目录 → 保存为my-team.code-workspace - 路径务必用相对路径(如
"path": "../backend"),否则迁移机器后失效;文件建议统一放在~/vscode-workspaces/这类独立目录,避免和项目代码混在一起 - 可为该文件单独绑定快捷键:在
keybindings.json中用vscode.open命令,args.uri指向.code-workspace的绝对路径 - 注意:不要把
.code-workspace放进某个项目根目录下——VSCode 启动时会弹窗提示“检测到工作区”,干扰日常开箱流程
容易被忽略的权限与路径陷阱
快捷键配置看似简单,但实际运行失败往往卡在底层路径或权限上,而非 JSON 语法错误。
- macOS 上若路径含中文或空格,
file://URI 必须 URL 编码,比如file:///Users/you/我的项目应写成file:///Users/you/%E6%88%91%E7%9A%84%E9%A1%B9%E7%9B%AE - Windows 用户若用 WSL 路径(如
/home/user/project),不能直接填入vscode.openFolder—— VSCode 桌面版无法识别 WSL 的file://URI,得换成本地 Windows 路径或改用codeCLI -
vscode.openFolder不会自动激活已打开的同路径窗口;若想复用窗口,得额外加"forceNewWindow": false参数(但该参数仅对 CLI 有效,GUI 绑定不支持) - 终端里执行
code /path/to/project是最容错的方式,比快捷键更稳定,适合写成 shell alias 或 Alfred/PowerToys 快捷入口


















