要彻底关闭 VSCode 的 HTML 自动补全,需分别禁用三类机制:1. 标签自动闭合(html.autoClosingTag: false);2. Emmet 展开(如 emerald.emmet.enableEmmetForLanguages: {"html": false});3. AI 插件内联建议(需在插件 UI 中关闭,如 Copilot 的 Inline Suggestions)。

想关掉 VSCode 的 HTML 自动补全,只关 editor.suggest.enabled 是没用的——它只控制 IntelliSense 弹窗,而 HTML 标签补全(比如输 )走的是另一套机制。
关掉 HTML 标签自动闭合( →
)
这是最常被误认为“HTML 补全”的行为,实际由 html.autoClosingTag 控制,不是语言服务器或 IntelliSense:
- 打开命令面板(
Ctrl+Shift+P或Cmd+Shift+P),运行Preferences: Open Settings (JSON) - 在
settings.json中添加这一行:"html.autoClosingTag": false - 保存后立即生效,无需重启;如果之前工作区里有
.vscode/settings.json,优先检查并同步改掉它
注意: 这是 Emmet 的行为,不是 VSCode 原生功能。如果你输 别去动 这类补全会直接在光标后内联显示代码(比如输 这些插件的开关不走 VSCode 全局配置管道,只在插件 UI 里生效。 真正容易被忽略的是:HTML 补全行为可能同时被多个来源触发(原生 html.autoClosingTag 只对标准容器标签(、 等)起作用,、 这类 void 元素本就不该闭合,关不关这个设置都**不会**补 ——那是规范要求,不是 bug。关掉 HTML 标签自动展开(
div → )div 回车就变成 ,说明 Emmet 在响应:
settings.json 中加:"emerald.emmet.triggerExpansionOnTab": false(新版 Emmet 默认启用)"emerald.emmet.enableEmmetForLanguages": {}
"emerald.emmet.enableEmmetForLanguages": {"html": false}
editor.quickSuggestions 或 editor.suggest.enabled,它们对 Emmet 展开完全无效。关掉 HTML 内联建议(AI 类补全,如 Copilot/通义灵码)
浮层),和弹窗无关,但干扰极大:
Copilot 图标 → 关掉 Inline Suggestions
云端模型自动触发
inlineSuggestion、autoTrigger 或 completion 相关开关,settings.json 里改不了html.autoClosingTag + Emmet + AI 插件),关掉一个不代表全停。必须逐个确认来源,再对应关闭,否则你会反复看到“怎么又弹了”。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











