Auto Close Tag 不生效是因 VSCode 1.84+ 内置 html.autoClosingTag 默认开启,需在 settings.json 中设为 false 并全窗口重启;script/style 不闭合因插件跳过允许自闭合的标签,启用 SublimeTextMode 可解决;.vue/.jsx 需添加 activationOnLanguage 支持;光标卡顿或缩进错乱源于 editor.formatOnType 与插件冲突,应关闭并设固定 tabSize。

Auto Close Tag 不生效?先关掉 VSCode 内置的 html.autoClosingTag
VSCode 1.84+ 版本默认开启内置标签闭合,它会静默接管所有 HTML 文件的闭合逻辑,导致 必须手动禁用内置功能: 这是 90% 用户装了插件却“没效果”的根本原因,不是插件没装对,是 VSCode 自己先占了位置。 插件默认只处理语义明确的成对标签(如 要强制补全,需启用更激进的匹配模式: 注意: VSCode 把 需显式声明支持范围: JSX 标签闭合建议交给 TypeScript 或 ESLint + Prettier 校验, 典型现象:输完 关键干预点: 最易被忽略的是 Auto Close Tag 插件完全不响应——状态栏右下角看不到 ACT 图标,敲
Cmd + Shift + P 或 Ctrl + Shift + P)→ 输入 Preferences: Open Settings (JSON)
settings.json 中添加:"html.autoClosingTag": false
为什么
<script></script> 和 不自动闭合?开 SublimeTextMode
),而 <script></script> 和 在 HTML 规范中允许自闭合写法(<script></script>),所以被跳过。
settings.json 中添加:"auto-close-tag.SublimeTextMode": true
为触发点,主动推断并补全标签名(比如输 就弹出 )"html.autoClosingTag": false 使用,否则两者逻辑冲突、 等真自闭合标签仍不会多出 ,插件的语义识别是可靠的。
.vue 和 .jsx 文件里标签不闭合?改 activationOnLanguage
.vue 文件整体识别为 vue 语言,把 .jsx 识别为 javascriptreact,而 Auto Close Tag 默认只监听 html 类型。
settings.json 中添加:"auto-close-tag.activationOnLanguage": ["html", "vue", "javascriptreact"]
javascriptreact 是 VSCode 对 JSX 的内部语言 ID,别写成 jsx 或 react
块内才生效;若写了 lang="pug" 或 lang="ts",插件不介入Auto Close Tag 不处理 JavaScript 语法层的标签结构。补全后光标卡住或缩进错乱?关掉
editor.formatOnType 并设固定 tabSize
里面;或者自动多缩进一层。这不是插件 bug,是它和格式化策略打架的结果。
"editor.formatOnType": false(尤其搭配 Prettier 时)"editor.tabSize": 2(别用 "auto",不同文件缩进逻辑不一致)"emmet.triggerExpansionOnTab": false(避免 Tab 键被多重劫持)formatOnType —— 它会在你敲下 > 的瞬间触发格式化,把刚生成的闭合标签顶到错误位置,表面像插件问题,实则是配置冲突。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











