live server默认只识别根目录index.html,需在项目根目录.vscode/settings.json中配置"liveserver.settings.file":"src/pages/main.html"(路径须相对且不以/开头),否则404或空白页。

Live Server 插件开箱即用,但默认行为在多数真实项目中会出问题——比如它总从工作区根目录启动、忽略 src 子目录、对非 index.html 文件不自动打开、甚至在多页项目里反复刷新错页面。这些问题不是插件坏了,而是没配对 settings.json 里的关键项。
为什么“Go Live”按钮总打不开想要的 HTML 文件?
Live Server 默认只认工作区根目录下的 index.html。如果你的入口文件叫 main.html,或放在 src/pages/ 下,它就直接报 404 或打开空白页。
- 在项目根目录创建
.vscode/settings.json(不是用户级设置) - 写入
"liveServer.settings.file": "src/pages/main.html",路径必须相对工作区根,且文件需真实存在 - 如果没设此项,它会按顺序查找:
index.html→home.html→default.html,找不到就返回 404 - 注意:路径里不能以
/开头,"/src/pages/main.html"是错的,"src/pages/main.html"才对
端口被占、刷新不触发、CSS 修改没反应怎么办?
端口冲突和监听失效是高频问题,根源常在配置与项目结构不匹配。
-
"liveServer.settings.port": 0表示自动选空闲端口,比硬写5500更可靠;若固定端口,检查是否被 Chrome 插件、Docker 或其他本地服务占用 - CSS 不刷新?确认你改的是被 HTML
<link>引入的 .css 文件,而非 .scss/.less 源文件——Live Server 默认不监听预编译格式 - 加入
"liveServer.settings.ignoreFiles": ["**/*.scss", "**/*.ts"]可避免误触发重载,也防止热重载卡顿 - 修改后没反应?先看浏览器地址栏是不是
http://127.0.0.1:xxx而非file://协议——后者根本不会走 Live Server
怎么让 Live Server 启动时自动用 Chrome 而不是 Edge?
VSCode 自身的默认浏览器设置不管用,Live Server 有自己的浏览器路由逻辑。
- 设置
"liveServer.settings.CustomBrowser": "chrome",值必须是小写字符串,"Chrome"或"CHROME"都无效 - 加
"liveServer.settings.NoBrowser": false确保它真去拉浏览器,而不是只起服务器 - 如果 Chrome 安装在非标准路径(如 Mac 的
/Applications/Google Chrome.app),得配合"liveServer.settings.AdvanceCustomBrowserCmdLine"写完整命令 - 隐私模式调试?用
"chrome --incognito",但注意某些调试扩展(如 React DevTools)在 incognito 下默认禁用
最易被忽略的一点:Live Server 的所有配置都只作用于当前工作区,.vscode/settings.json 必须放在你右键“Open with Live Server”的那个文件所属的文件夹下;跨文件夹打开、拖单个 HTML 进 VSCode、或用全局设置,都会让配置失效。











