先确认语言模式为HTML且"html.autoClosingTag":true;右下角非HTML或该配置为false是失效主因,.vue/.jsx因语言ID不同原生不生效,Emmet/Prettier可能劫持>键。

输入 后敲 > 不自动补 ?先确认语言模式和基础开关
VSCode 默认就支持 HTML 标签自动闭合,但前提是:当前文件被识别为 html 语言模式,且 html.autoClosingTag 没被关掉。
常见失效现象:<div> 输入完按 <code>> 没反应,光标停在末尾;右下角状态栏显示的是 Plain Text 或 Auto 而不是 HTML。
- 点击右下角语言标识 → 选
Configure Language Specific Settings→ 确保设为HTML - 按
Ctrl+Shift+P运行Preferences: Open Settings (JSON),检查是否有"html.autoClosingTag": false,有则删掉或改为true - 别搜
autoClosingBrackets——那是管{}和引号的,跟 HTML 标签无关
在 .vue 或 .jsx 文件里 <div> 不闭合?这不是 bug,是机制限制
<p><code>html.autoClosingTag 只对 html 语言 ID 生效。在 .vue 文件的 <template></template> 区域,语言模式是 vue-html;在 .jsx 中是 javascriptreact —— 它们不继承原生 HTML 的闭合逻辑。
-
.vue 文件:装 Volar(非 Vetur),它提供独立的模板标签闭合支持
-
.jsx / .tsx:原生不支持 <div> → <code>
.vue 文件:装 Volar(非 Vetur),它提供独立的模板标签闭合支持.jsx / .tsx:原生不支持 <div> → <code>



















