右键“刷新”仅更新文件夹视图,不重载已打开文件内容;需用“Revert File”恢复单个文件最新版本,或“Reload Window”彻底重启VS Code(慎用)。

右键“刷新”只刷新 Explorer 视图,不重载文件内容
VS Code 侧边栏里点文件夹右键 → 刷新,只是让资源管理器重新扫描磁盘上的文件增删改(比如你用终端 rm 或 mkdir 了,它才显示出来),**不会重新加载你当前已打开的编辑器标签页里的文件内容**。这个操作本质是触发一次 explorer.refresh 命令,和浏览器按 F5 刷新页面完全不是一回事。
常见错误现象:你在终端里用 git pull 拉了新代码,右键刷新文件夹后,文件列表看着对了,但打开的 .js 文件里还是旧逻辑——因为编辑器缓存没动。
- 真正需要“看到最新内容”时,得单独对每个打开的文件执行
File: Revert File(命令面板输入即可) - 如果文件有未保存修改,
Revert File会丢弃它们,务必先确认或暂存 - 快捷键:windows/linux 是
Ctrl+Shift+P→ 输入Revert File;macos 是Cmd+Shift+P
“Reload Window”是重载整个 VS Code 实例,别当日常刷新用
Ctrl+Shift+P → Developer: Reload Window(或菜单栏「文件 → 重新加载窗口」)会杀掉当前所有扩展进程、关闭并重建整个窗口。它确实能让所有文件、文件夹、扩展状态全部从头来过,但代价是:你所有未保存的编辑器标签页、调试会话、终端历史、甚至 Live Server 的服务连接都会断开。
使用场景仅限于:插件疑似卡死、文件监视失效、Explorer 显示错乱且右键刷新无效、或者刚升级 VS Code 后某些功能异常。
- 这不是“刷新文件夹”的合理手段,而是故障排查兜底动作
- 远程开发(Remote-ssh)下尤其明显:重载窗口会断开 SSH 连接,需重新登录
- 如果你频繁依赖它来“同步外部改动”,说明底层文件监听机制可能被干扰(如杀毒软件拦截 inotify / ReadDirectoryChangesW)
想自动响应磁盘变更?靠系统级监听,不是手动点
VS Code 的文件夹自动刷新能力,依赖操作系统原生事件机制:inotify(Linux)、FSEvents(macOS)、ReadDirectoryChangesW(Windows)。它默认开启,但有边界:
- 对符号链接(symlink)目录,默认不监听子路径变更,需在设置中启用
files.useExperimentalFileWatcher - 远程开发(SSH/WSL)下,监听由远端系统提供,若远端 inotify 限制太低(如 docker 容器缺
inotify-tools),就会延迟或失效 - 大文件夹(>10k 文件)可能被自动禁用监听,此时只能靠右键手动刷新或调大
files.watcherExclude
验证是否生效:在项目根目录新建一个 test.txt,看 Explorer 是否秒出;如果要等 5 秒以上,大概率是监听挂了。
前端开发别刷文件夹,该用 Live Server 监听文件保存
如果你实际想解决的是“改完 HTML/JS/CSS 要手动刷新浏览器”,那根本不在“刷新文件夹”范畴——这是开发服务器职责。装 Live Server 插件后,右键 Open with Live Server,它起的是本地 http 服务,并注入一个 websocket 监听器,一旦检测到文件 save 事件,就向浏览器发 reload 指令。
- 它不关心文件夹结构变没变,只认保存动作;所以改完代码 Ctrl+S 就行,不用管 Explorer
- 端口冲突?把
liveServer.settings.port设为0,自动分配空闲端口 - 注意:它只对能被浏览器直接解析的文件生效(
.html,.css,.js),对.md或配置文件无反应
真正的“刷新”发生在浏览器里,VS Code 只是触发器。把这两层逻辑混在一起,是多数人卡住的起点。