WebStorm 默认开启HTML标签自动闭合,但常因Smart Keys中“Insert pair tag”未勾选、省电模式启用或右下角语言模式非HTML而失效;需依次检查Settings→Editor→General→Smart Keys、右下角状态栏及Power Save Mode。

WebStorm 默认开启 HTML 标签自动闭合,但常因设置被误关、省电模式启用或语言级别不匹配而失效——不是 bug,是配置没对。
确认 Smart Keys 中的 pair tag 已启用
这是最常被忽略的开关。即使你输入 <div>,若该选项关闭,WebStorm 不会自动生成 <code>
。
- 路径:
File → Settings → Editor → General → Smart Keys
- 必须勾选
Insert pair tag(注意不是“Insert pair quote”或 bracket)
- 同时建议勾选
Insert required attributes,比如输入 <img> 时自动补 src 和 alt
- 若在 Vue 或 JSX 文件中写 template,此设置仅对纯
.html 文件生效;.vue 中需额外配置语言注入或使用插件支持
检查是否意外启用了 Power Save Mode
省电模式会静默禁用所有代码补全、括号配对、标签闭合等智能辅助功能,界面右下角有图标提示,但容易被忽略。
- 点击右下角齿轮/头像图标 → 查看
Power Save Mode 是否已勾选
- 若已启用,点击取消;无需重启,立即恢复
- 该模式还会停用文档弹窗(
Ctrl+Q)、实时高亮和结构导航,影响远不止闭合标签
HTML 语言级别与文件类型要匹配
WebStorm 按文件后缀和语言模式决定启用哪套规则。哪怕文件名是 index.html,如果右下角显示的是 Plain Text 或 XML,自动闭合就完全不触发。
- 打开文件后,看编辑器右下角状态栏:必须显示
HTML
- 若显示错误,点击它 → 选择
HTML(不是 HTML (Angular) 或 Vue HTML)
- 默认语言级别为 HTML5,但如果你在
Settings → Languages & Frameworks → Schemas and DTDs 中手动指定了旧版 DTD,可能干扰解析逻辑
- 新建文件务必通过
File → New → HTML File,而非右键新建空文本再改后缀
格式化设置里别误关 “In empty tag” 空格选项
这个不直接影响闭合行为,但会影响你肉眼判断是否“已闭合”——比如 <img> 和 <img> 看起来一样,但后者在某些校验工具中报错。
- 路径:
Settings → Editor → Code Style → HTML → Other
- 勾选
In empty tag:让自闭合标签如 <img src="a.jpg"> 自动加空格,符合 HTML5 规范且兼容性更好
- 不勾选会导致
<input type="text"> 这种紧凑写法,虽可运行,但易与 XHTML 混淆,团队协作时建议统一开启
- 该设置只在格式化(
Ctrl+Alt+L)时生效,不影响输入时的实时闭合
真正卡住的点往往不在“怎么开”,而在“为什么开了还不动”——多是省电模式开着、语言模式错了、或者你在 .vue 里硬套 HTML 设置。先盯住右下角那个小标签,再查 Smart Keys,90% 的问题当场解决。