为何VS Code按下Ctrl+O时打开最近文件夹而非当前工作目录?
修复方案(适用于VS Code 1.68.0 + Ubuntu 18.04环境)
按以下优先级逐一操作,即可解决Ctrl+O默认打开最近访问文件夹而非当前工作目录的问题:
- 第一步:排查快捷键冲突
按下Ctrl+K Ctrl+S打开快捷键管理面板,搜索ctrl+o,删除所有非文件打开类命令的同快捷键绑定,避免其他命令/扩展抢占快捷键触发权。
如果需要强制指定弹窗默认定位到工作区,点击快捷键面板右上角的图标打开keybindings.json,添加如下配置:
保存配置后重启VS Code验证。{ "key": "ctrl+o", "command": "workbench.action.files.openFileFolder", "args": { "defaultUri": "${workspaceFolder}" }, "when": "!notificationFocus && !terminalFocus && !inputFocus" } - 第二步:屏蔽系统原生对话框的路径记忆干扰
VS Code在Linux平台默认调用系统Nautilus文件管理器的对话框,该组件会默认记忆上次访问路径,两种处理方式可选:- 切换到VS Code内置对话框:按下
Ctrl+,打开设置,搜索files.simpleDialog.enable并勾选,重启后生效,内置对话框不受系统路径记忆规则影响 - 关闭系统路径记忆:打开Nautilus文件管理器的设置页,关闭「记录最近访问的文件和文件夹」选项,清空已有访问记录后,首次触发
Ctrl+O时手动导航到工作区目录,后续会默认定位到对应路径
- 切换到VS Code内置对话框:按下
- 第三步:全局固定文件对话框默认路径
在设置面板搜索files.dialog.defaultPath,将值设置为${workspaceFolder},强制所有文件打开类弹窗默认定位到当前工作区根目录。
快速校验方式:按
F1调出命令面板,手动执行File: Open File/Folder命令,如果弹窗默认定位到工作区,可直接判定问题为快捷键绑定冲突,仅需完成第一步操作即可修复。
内容的提问来源于stack exchange,提问作者goldfinch
相关产品推荐
相关产品推荐

