直接按!再按tab即可生成标准html5骨架,需确保文件为.html后缀、语言模式为html、光标在空行或行首,且emmet.triggerexpansionontab为true;旧写法html:5已废弃。

直接按 ! 再按 Tab 就能生成标准 HTML5 骨架,不需要装插件、不改设置、不记命令——前提是 VSCode 当前识别的文件语言模式是 HTML。
为什么敲 ! 没反应?先看右下角语言模式
Emmet 不是全局生效的快捷键,它只在明确的语言上下文中工作。最常见失效原因就是 VSCode 把你的文件当成了 Plain Text 或 JavaScript。
- 新建一个空文件,保存为
index.html,右下角应显示HTML;如果不是,点击它 → 选择HTML - 如果文件没后缀(比如刚建的 Untitled-1),VSCode 默认用
Plain Text,此时!完全不会触发 - 远程开发(WSL/SSH)时,这个设置必须在远程环境里单独配,本地设置不继承
! 展开后 lang="en" 怎么改成中文?
生成的 是默认行为,VSCode 不会自动猜你用什么语言。改法很简单,但得手动:
- 生成后光标默认停在
<title></title>里,按↑回到行 - 把
lang="en"改成lang="zh-CN"(注意大小写和短横线) - 别指望 Emmet 自动处理这个——它不读项目配置,也不查
settings.json里的区域设置
在 .vue 文件的 <template></template> 里用 ! 无效?要配 emmet.includeLanguages
VSCode 默认只对纯 .html 文件启用 ! 缩写。<template></template> 块被识别为 vue-html 语言,不属于默认支持范围。
- 打开设置(
Ctrl+,),搜emmet.includeLanguages - 点击「Add Item」,填入:
"vue-html": "html" - 保存后重载窗口(
Ctrl+Shift+P→Developer: Reload Window) - 之后在
<template></template>任意空行输入!+Tab就能生成骨架了
html:5 还能用吗?别再试了
旧版 Emmet 的 html:5 写法已在 VSCode 1.70+ 中彻底废弃。现在只认 !,其他变体如 html5、!html5 全部无效。
- 输完
html:5按Tab,VSCode 会当成普通文本补全,不是 HTML 骨架 - 如果习惯性手快打了
html:5,删掉重输!更省时间 - 这个变化不是 Bug,是官方明确移除的兼容层——依赖它的脚本或文档该更新了
真正容易被忽略的是:Emmet 对光标位置极其敏感。! 必须在空行或标签外输入,写在 <div> 里面、注释后、或者引号中间,它直接静音——不是坏了,是压根没启动。</div>
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











