auto close tag插件默认不处理自闭合标签(如、),仅补全成对标签;需启用"auto-close-tag.enableautoclosetagwithslash"才支持尾部斜杠,且仅影响新输入。

Auto Close Tag 插件对自闭合标签默认不处理
插件默认只补全成对标签(如 <div> → <code>
auto close tag插件默认不处理自闭合标签(如、),仅补全成对标签;需启用"auto-close-tag.enableautoclosetagwithslash"才支持尾部斜杠,且仅影响新输入。

插件默认只补全成对标签(如 <div> → <code>
<img>、<input>、<br> 这类自闭合标签完全不干预——它不加斜杠,也不自动补空格,更不会帮你把 <img src="x"> 改成 <img src="x">。
这不是 bug,是设计选择:自闭合标签语义上本就不需要闭合,插件只做“配对”逻辑。但如果你习惯写 XHTML 风格或团队强制要求尾部斜杠,就得手动开配置:
"auto-close-tag.enableAutoCloseTagWithSlash": true —— 开启后,输入 <img> + <code>/> 会直接生成 <img>
"auto-close-tag.SublimeTextMode": true —— 启用后,<img> + <code>Tab 或 > 也能触发补全,生成 <img>(注意空格位置)
<img src="x"> 不会因开启配置而自动变成 <img src="x">,只影响新输入<meta> 和 <link> 总不补斜杠这类标签在 HTML5 中本就是无闭合形式,浏览器也完全接受 <meta charset="utf-8">。VSCode 原生语言服务和 Auto Close Tag 都遵循 HTML5 规范,默认不加斜杠。
强行统一风格需靠格式化工具,不是自动闭合插件的职责:
htmlWhitespaceSensitivity: "css" 可能影响换行,但不加斜杠]*)> →
editor.autoClosingBrackets 对自闭合标签没用这个设置控制括号、引号、方括号的自动闭合,比如输入 ( 补 ),但它**完全不参与 HTML 标签逻辑**。把它设成 "always" 或 "languageDefined",都不会让 <img> 自动变 <code><img>。
混淆点在于名字带“closing”,实际作用域和 HTML 标签无关。真正影响自闭合行为的只有:
"auto-close-tag.enableAutoCloseTagWithSlash"
html,不是 vue-html 或 javascriptreact
/> 或 Tab,不能先输属性再补<img> 仍不补斜杠哪怕你在 .vue 文件的 <template></template> 区域写 <img>,只要语言模式是 <code>vue-html(Volar 默认),Auto Close Tag 就不会响应——除非你显式启用它对该语言的支持。
解决办法不是改 html.autoClosingTag(它对 vue-html 无效),而是:
"auto-close-tag.activationOnLanguage" 包含 "vue-html"
volar.autoCloseTag,设为 true,它原生支持 <img> 类标签的斜杠补全.vue 文件强行关联成 html 语言 ID——语法高亮和类型检查会崩前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!
相关文章
VSCode集成FTP/SFTP实时远程同步配置
VS Code如何禁止自动添加分号
VSCode终端启动项目步骤
VS Code怎么在Linux下安装
用VSCode快捷键一键折叠所有导入声明的方法
本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
相关专题
热门下载
相关下载
精品课程
共1课时 | 414人学习
共3课时 | 476人学习
共0课时 | 0人学习