根本原因是explorer.autoreveal设为false且焦点未落入编辑框,导致enter被解释为“确认选中”而非提交重命名;需开启autoreveal、禁用干扰扩展、强制重启vscode生效。

VSCode 重命名文件时回车没反应,根本原因是什么
这不是你键盘坏了,也不是 VSCode 崩了——是 explorer.autoReveal 被设为 false 且焦点没落在编辑框内导致的。VSCode 的资源管理器在重命名时会进入“内联编辑”模式,但若自动聚焦逻辑失效,Enter 就不会触发表单提交,而是被解释为“确认选中”,结果看起来像没反应。
怎么快速验证并修复这个行为
先确认是否真卡在编辑状态:右键文件 → “重命名”,输入新名后,用鼠标点一下文件名区域(或按 F2 再按 Tab),看光标是否出现在编辑框里。如果光标没出现,说明编辑框未激活。
- 打开设置(
Ctrl+,或Cmd+,),搜explorer.autoReveal,确保它是true - 检查是否有扩展干扰:禁用所有扩展,重启 VSCode,再试重命名
- 临时绕过:重命名时改用
Ctrl+Enter(Windows/Linux)或Cmd+Enter(macOS)强制提交,这会跳过焦点校验
哪些扩展最容易引发这个 Bug
这类问题多见于修改资源管理器 DOM 结构或劫持键盘事件的扩展,尤其是那些带“文件增强”“快捷操作”“图标美化”字样的插件。
-
vscode-icons旧版本(v12.2 之前)在启用动画时可能吞掉Enter -
Project Manager某些配置下会监听keyDown但未正确调用event.stopPropagation() -
File Utils的重命名快捷键(如alt+R)与原生流程冲突,导致后续Enter失效
为什么改完设置还要重启 VSCode 才生效
explorer.autoReveal 是一个启动时读取的 UI 配置项,运行时修改它只影响新打开的资源管理器视图,而当前已激活的 Explorer 实例仍沿用旧上下文。更麻烦的是,某些扩展会在激活时缓存焦点管理逻辑,不重启就无法刷新绑定关系。
- 修改设置后,必须关闭所有窗口再重新打开 VSCode,不能只用
Developer: Reload Window - 如果用了 Remote-SSH 或 WSL,要连带重启远程服务进程,否则本地设置不生效
- Mac 用户注意:
Cmd+Q退出应用比关窗口更可靠,仅关窗口常驻后台,配置不刷新
autoReveal、硬重启,三步下来八成解决。剩下两成,基本是某条自定义 keybindings.json 规则把 Enter 绑到了别的命令上,得去那里翻。











