关闭emmet缩写建议最直接方法是设置“emmet.showexpandedabbreviation”: "never"或在设置中取消勾选show abbreviation suggestions,该操作独立于intellisense,可彻底禁用自动弹出的缩写提示但保留tab手动展开功能。

关闭 Emmet 缩写建议(最常见干扰源)
Emmet 的 show abbreviation suggestions 是你在敲 div.item 或 ul>li*3 时弹出的下拉列表,它和 IntelliSense 混在一起,但控制开关独立。不关它,即使禁用了 editor.quickSuggestions,Emmet 缩写仍会冒出来。
操作路径:设置页面 → 左侧菜单点 Emmet → 取消勾选 Show Abbreviation Suggestions。这个选项在 VS Code 1.85+ 版本中明确存在,改完立即生效,无需重启。
注意:emmet.showExpandedAbbreviation 设为 "never" 效果等价,但界面操作更直观;若用 JSON 配置,写成:
"emmet.showExpandedAbbreviation": "never"
禁用 Emmet 自动触发建议(避免 . / > 等字符触发)
Emmet 默认会在输入 .、#、[、> 等字符后主动拉出建议,这是由 editor.suggestOnTriggerCharacters 和 Emmet 内部逻辑共同驱动的。单关 editor.quickSuggestions 不足以拦截它。
必须同步关闭两项:
-
editor.suggestOnTriggerCharacters设为false -
emmet.showExpandedAbbreviation设为"never"(或界面取消勾选Show Abbreviation Suggestions)
否则你敲 div. 后光标停住、弹出一堆类名建议——那大概率是 Emmet 在“努力工作”,不是语言服务器。
保留 Emmet 展开功能但隐藏提示(实用折中方案)
很多人不想看建议列表,但仍希望按 Tab 或 Ctrl+Enter 手动展开缩写。这时别禁用整个 Emmet,只需切断它的自动提示链:
- 保持
emmet.triggerExpansionOnTab为true(确保Tab能展开) - 关闭
emmet.showExpandedAbbreviation(隐藏预览和建议) - 确认
editor.quickSuggestions中的Other、Strings、Comments全为false(防止其他补全干扰)
这样 ul>li*3 + Tab 依然能生成列表,但不会在你敲 ul 时就弹窗挡视线。
按语言类型精细控制(比如只关 HTML 里的 Emmet 提示)
如果你只在写 HTML/CSS 时被 Emmet 提示打扰,而 JSX 或 Vue 里还想留着,就得用语言专属配置。VS Code 支持按语言覆盖设置,例如:
"[html]": {
"emmet.showExpandedAbbreviation": "never",
"editor.quickSuggestions": false
},
"[css]": {
"emmet.showExpandedAbbreviation": "never"
}
这类配置写进 settings.json 即可生效,不用改全局。注意:方括号里的语言标识符必须准确,[html] 对应 .html 文件,[vue] 对应 .vue 单文件组件(需 Vetur 或 Volar 支持)。
Emmet 提示的开关分散在多个配置项里,单独调一个经常漏掉;真正静默需要组合关闭,且语言级配置容易写错标识符——这是最常被忽略的复杂点。











