Emmet 未启用或配置错误导致 按 Tab 无反应;需开启 "emmet.triggerExpansionOnTab": true,设语言模式为 HTML 或在 Vue 中配置 "emmet.includeLanguages": {"vue-html": "html"} 并重载窗口。

为什么输入 按 Tab 没反应?先确认 Emmet 是否启用
VS Code 的 HTML 标签补全(如 原生 VS Code HTML 语言服务对 VS Code 原生不支持修改开始标签后自动同步结束标签,比如把 标签补全(输入
实际项目里最常被忽略的,是 )几乎全部由 Emmet 驱动,不是语言服务原生提供。输完 按 Tab 无响应,90% 是因为 Emmet 展开被关了。
"emmet.triggerExpansionOnTab": true 必须为 true;设为 false 后,Tab 对任何缩写都失效"emmet.showExpandedAbbreviation": "inMarkupAndStylesheetFiles" 推荐设为此值;若设为 "never",连 都不会提示 ?检查独立开关HTML;如果是 .vue 文件,默认不触发 Emmet,需额外配 "emmet.includeLanguages": {"vue-html": "html"}
Developer: Reload Window,否则部分设置不生效
input type="|" 引号内不提示 text/password/email?这是默认行为type 这类语义强、取值受限的属性,不做主动枚举补全——它把 type="xxx" 当作普通字符串处理,而非 W3C 定义的 18 种合法值域。这不是 bug,是设计上的“保守策略”。
"html.suggest.html5": true
"editor.quickSuggestions": {"strings": true},否则引号内根本不会弹建议框emmet.includeLanguages 不够,还需 "html.suggest.html5": true 在 .vue 中才生效search、color、week)有浏览器兼容差异,补全列表应来自语言服务器解析 AST,而非硬编码修改标签名时前后不联动?装
Auto Rename Tag 就行 改成 ,必须手动改两处。
Auto Rename Tag(作者: Jun Han),当前最新版 0.1.10,适配 VS Code 1.117+HTML、Vue、Svelte 文件中均有效)或 JSX 中的 不触发settings.json 加 "auto-rename-tag.activationOnLanguage": ["html", "vue"] 显式限定范围补全出来了但没自动闭合
div → )是两个完全独立的功能,由不同配置控制。
"html.autoClosingTag": true 控制;关闭后,即使 div + Tab 仍生成
),只影响手敲 "html.suggest.html5": true 和语言模式识别才能稳定工作 → ),看起来像“闭合失败”,实则是格式化覆盖html.suggest.html5 和 editor.quickSuggestions.strings 的组合生效条件:两者缺一不可,且在非 HTML 语言模式(如 vue-html)下,必须显式通过 emmet.includeLanguages 或语言服务器扩展透传配置,否则引号内的语义补全永远是哑的。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











