Live Preview 不生效的根本原因是扩展未启用或文件类型不被识别;需安装 ms-vscode.live-preview,仅支持已保存的 .html/.htm 文件,右键“Open with Live Preview”最可靠,自定义后缀需先构建,热更新失效常见于 WSL/软链/自动保存延迟等场景。

Live Preview 扩展不生效,打开 HTML 文件还是纯代码视图
根本原因通常是扩展没启用,或当前文件没被识别为可预览类型。VSCode 的 Live Preview 默认只对 .html、.htm 文件自动激活,且要求文件已保存(未保存的临时文件不会触发)。
- 确认已安装并启用官方扩展:
ms-vscode.live-server不是它,要装ms-vscode.live-preview(注意名字里是preview,不是server) - 右键编辑器标签页 → 点击
Open with Live Preview,别只依赖右下角状态栏按钮——状态栏按钮有时会灰掉,但右键菜单始终可用 - 如果文件后缀是
.njk、.svelte或自定义模板,Live Preview 不支持直接预览,得先构建出真实.html文件再打开 - 检查设置里是否误关了:
livePreview.settings.enablePreviewOnStart设为true只影响启动行为,不影响手动触发
点击“Go Live”后浏览器空白,控制台报错 net::ERR_CONNECTION_REFUSED
这不是网络问题,而是 Live Preview 启动失败后仍尝试连接旧端口,或者被系统防火墙/杀毒软件拦截了本地服务进程。
- 关闭所有已打开的 Live Preview 浏览器窗口(包括后台隐藏的),再点一次
Go Live——旧窗口会卡在断开连接状态,不刷新也不报错 - 查看 VSCode 右下角状态栏:如果显示
Live Preview: 5500之类的端口号,说明服务起来了;如果什么都没显示,就是启动失败,去命令面板运行Live Preview: Stop Server再重试 - Windows 用户遇到此错误,大概率是 McAfee 或 Windows Defender 拦截了
node.exe子进程,临时禁用实时防护后重试即可验证 - 不要手动改默认端口:虽然能通过
livePreview.settings.port设置,但改完后必须重启 VSCode 才生效,且容易和本地其他服务(如webpack-dev-server)冲突
修改 HTML/CSS 后页面没自动刷新,需手动按 F5
Live Preview 的热更新依赖文件系统事件监听,某些场景下会失效,尤其是 WSL、远程 SSH 或网络盘路径下开发时。
- 确保文件保存动作真正落盘:用 Ctrl+S 保存,别只靠自动保存(
files.autoSave设为afterDelay时可能延迟触发) - 检查文件是否在符号链接目录中——Live Preview 不监听软链目标,只监控原始路径,把项目移到非链接路径下试试
- CSS 修改不生效?确认你改的是被
<link>引入的外部样式表,而不是<style>块内联样式(后者目前不支持热更新) - 如果用了构建工具(如 Vite、Parcel),别指望 Live Preview 跟它共存——它只读取磁盘上真实的 HTML 文件,不理解 dev server 的内存文件系统
想让 Live Preview 支持 Markdown 预览或 Vue 单文件组件
不能。Live Preview 是专为静态 HTML 页面设计的轻量预览器,不解析模板语法、不执行 JS、不编译任何源码。
-
.md文件请用 VSCode 内置的Markdown Preview(Ctrl+Shift+V),或装shd101wyy.markdown-preview-enhanced -
.vue文件要预览,必须先用vue-cli-service serve或vite preview启动对应 dev server,Live Preview 对<template>标签完全无感 - 有人尝试用
file://协议直接双击打开 HTML,结果 JS 报CORS错误——Live Preview 用的是http://本地服务,这点比双击靠谱,但也仅限于此 - 如果你需要更复杂的预览能力(比如带 API mock、路由跳转、状态调试),Live Preview 就不是该选的工具,该切回专用 dev server
Live Preview 最稳的用法,就是打开一个写死的 index.html,改完 Ctrl+S,眼睛看效果。复杂交互、动态数据、构建流程,它真不负责。


















