sublime text 原生通过状态栏提示未闭合标签,但仅限邻近范围且对语义化标签和嵌套内容支持弱;tag 插件校验精准聚焦标签结构;sublimelinter-html-tidy 保存时自动报错但依赖外部工具;最终应以 chrome elements 面板验证真实 dom 结构。

光标停在哪,状态栏就报什么
Sublime Text 原生不校验 HTML 结构,但会在光标落在某个起始标签(如 <div>)时,右下角状态栏显示类似 <code>tag: div (unclosed) 的提示——这是最轻量、无需插件的检测方式。
它只对当前标签及其邻近几行有效,一旦漏闭合点在文件底部或跨了几十行,状态栏大概率沉默;<section></section>、<main></main> 等语义化标签,或嵌套在 <template></template>、<svg></svg> 里时,提示也常失效。
- 确保右下角状态栏显示的是
HTML(不是Plain text或XML),否则连基础高亮都不可靠 - 看到
unclosed提示后,直接按Ctrl+G输入提示里的行号,比滚动查找快得多 - 这个机制不检查属性值里的引号是否配对、JS 字符串是否干扰,只盯标签层级
用 Tag 插件手动验证,准且聚焦
Tag(作者 sublimator)是目前最准、最轻、最不干扰工作流的方案,专为标签结构设计,不碰 JS 或 CSS。
安装后按 Ctrl+Shift+P 输入 Tag: Validate 即可运行,报错格式明确:Unclosed tag 'div' at line 42, column 8。
- 支持自定义忽略标签,比如把
<img>、<input>加进ignored_tags列表,避免误报 - 它只扫描当前打开的文件,不会递归查整个项目;多文件批量检查得靠命令行
tidy - 它不解析
<script></script>内 JS 语法,也不管 CSS 是否拼错——这点比 Linter 类插件更干净
保存时自动校验,靠 sublimelinter-html-tidy
这个组合能替代手动触发,但依赖系统级工具:先全局安装 htmldtidy(npm install -g htmldtidy 或 brew install htmldtidy),再装插件 SublimeLinter + SublimeLinter-html-tidy。
保存文件时,若存在未闭合标签,会在 Sublime 底部弹出警告,如:Warning: missing











