Live Server 不支持预览以 _ 或 . 开头的文件,因其源码强制过滤 fileName.startsWith('_') || fileName.startsWith('.');解决方法包括改名(如 index.html)、手动拼 URL 访问,或调整 root 设置辅助定位。

Live Server 插件本身不支持直接预览 _ 开头的文件(比如 _index.html),这是 VSCode 文件系统和 Live Server 默认规则共同导致的,不是配置错了,而是它压根不扫描这类“隐藏”命名的文件。
为什么 _index.html 在 Live Server 里打不开?
Live Server 默认只服务以常见后缀结尾的公开文件(.html、.htm、.svelte 等),且会跳过 Unix 风格的“隐藏文件”——即文件名以 _ 或 . 开头的文件。即使你右键点了 “Open with Live Server”,它也会静默忽略,浏览器打开空白页或 404。
- 这不是权限问题,也不是路径错误
- VSCode 的文件资源管理器里能看到
_index.html,但 Live Server 启动时根本不会把它纳入路由表 - 插件源码中明确过滤了
fileName.startsWith('_') || fileName.startsWith('.')
绕过限制的三种实操方式
不用卸载重装,也不用改插件源码,以下方法都经过验证:
-
改名最稳:把
_index.html改成index.html或preview.html—— Live Server 默认就认这些名字,零配置,点击即开 -
手动拼 URL:启动 Live Server(对任意一个合法 HTML 文件操作),然后在浏览器地址栏手动输入完整路径,例如
http://127.0.0.1:5500/_index.html;只要文件真实存在且同目录,服务器能响应,只是右键菜单不显示它 -
改插件设置(进阶):打开 VSCode 设置 → 搜索
liveServer.settings.root→ 把值设为当前工作区路径(如"./"),再搜索liveServer.settings.CustomBrowser确保没锁死;但这不能解除文件名过滤,仅辅助定位,本质仍需配合前两种
Live Server 启动后页面不自动刷新?检查这三点
自动刷新不是默认全开的,尤其在修改 CSS 或 JS 时容易误以为“坏了”:
- 确认你编辑的是被 Live Server 当前服务的根目录下的文件(比如它启在
/project,你就不能去/project/src/改完等着刷新) - 检查 VSCode 右下角状态栏是否显示
Live Server: Running on http://127.0.0.1:5500;如果显示Stopped,说明你点的是别的文件,或者之前启动的实例被关了 - Live Server 默认只监听
.html、.css、.js和部分模板文件,如果你改的是.ts或.scss,需要额外配构建步骤,它本身不编译
真正卡住人的地方,往往不是“怎么开”,而是“为什么开了却看不到”。Live Server 的静默过滤机制和路径感知逻辑,比表面看到的更严格——别在 _ 命名上纠结配置,先换名试试,八成就通了。


















