Sublime Text 3/4 原生 auto_close_tags 默认为 true,仅在输入 后按 > 才自动补全 并置光标于中间;若失效,需确认语法模式为 HTML、用户设置未禁用该选项,且避免与 Emmet 或 AutoCloseTag 插件冲突。

Sublime 默认不自动闭合 HTML5 标签,得手动开开关或装插件
Sublime Text 3/4 原生 常见错误现象: 这个选项控制“输入开始标签后按 操作步骤: 注意: 因为原生 解决办法只有两个: 别信“装了 Emmet 就能智能判断”——Emmet 的 能,但非常容易出问题。典型症状:输 auto_close_tags 默认是 true,但它只在你输入 。> 才触发补全,不是“输完回车就自动塞”。很多人以为开了就万事大吉,结果敲完 回车,光标直接跳下一行——那是因为回车没触发机制,只有 > 键才管用。 后按 > 出了 ; 补成 ;或者根本没反应。原因通常是:
Plain Text 或 JavaScript,不是 HTML
"auto_close_tags": false(手动关掉了)怎么确认并启用原生 auto_close_tags
> 自动补结束标签”的行为,和 Emmet 无关,也不依赖插件。
Ctrl+,(Windows/Linux)或 Cmd+,(macOS)打开 Preferences > Settings
"auto_close_tags": false 这行;如果有,删掉或改成 true
HTML 或 HTML (Vue),不是 Plain Text
auto_close_tags 和 auto_close_tag 是两个不同配置项,后者是旧版插件遗留项,现在基本无效,删掉更安全。为什么
和 还是被错误闭合?auto_close_tags 不识别自闭合标签,它一视同仁:只要是你输的开始标签,按 > 就硬补结束标签。这不是 bug,是设计如此。
AutoCloseTag(作者 wingyplus)插件,并在它的设置里开启 "html_self_closing_tag": true,它会查内置白名单(img、br、input 等共 18 个)自动跳过Ctrl+Shift+.(Windows/Linux)或 Cmd+Shift+.(macOS),它只在光标靠近起始/结束标签时才补对应闭合符,不瞎猜、不误伤auto_close_self_closing_tag 默认是 false,开了反而会让 变成 ,但多数项目不需要这种写法,且容易和 Prettier 类格式化工具打架。Emmet 和 AutoCloseTag 能不能一起用?
,变成 >,先出 ,再按 Tab,又多套一层
根本原因是两者监听同一类输入但逻辑不同:
-
AutoCloseTag监听>和/,实时插入 - Emmet 的
emmet_expand_abbreviation监听Tab,按缩写展开结构
推荐做法:
- 日常写 HTML:关掉
AutoCloseTag,只用 Emmet +Tab,输入div再按Tab→ - 临时修老代码、语法识别错乱时:不用任何插件,直接按
Ctrl+Shift+.补闭合,最稳 - 必须用实时闭合:禁用 Emmet 的
auto_close_tag,并在AutoCloseTag设置中加白名单,避免这类自定义标签也被乱闭合
真正难搞的不是怎么开功能,而是 HTML5 中那些语义化标签(、)既非自闭合、又没被所有插件默认收录——它们会照常被 AutoCloseTag 闭合,但如果你在 Vue 或 JSX 里混写,就得手动扩 scope 或加 include 配置,否则光标一进 <script></script> 区域就失效。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











