sublimelinter-contrib-htmlhint 仅作语法检查,不自动修复或格式化;需配合 emmet 或 html-css-js prettify 实现标签闭合与结构重排,且依赖全局安装 xg-htmlhint、正确配置 .htmlhintrc 并确保语法识别为 html。

SublimeLinter-contrib-htmlhint 不能直接“规范网页标签”,它只做语法检查,不自动修复或格式化;想闭合标签、重排结构,得靠 Emmet 或 HTML-CSS-JS Prettify。
为什么装了 SublimeLinter-contrib-htmlhint 还不报错?
常见现象是:保存 index.html 后没任何提示,明明写了 <div><p>hello</p></div> 这种明显错位也没红线。
- 确认右下角语法识别是
HTML(不是Plain text或XML),否则插件不触发 -
SublimeLinter-contrib-htmlhint依赖全局命令xg-htmlhint,必须用npm install -g xg-htmlhint安装,仅装插件包无效 - 1.0.1 版本有路径解析 bug,必须手动下载
1.0.0release 并解压到Packages目录,重命名为SublimeLinter-contrib-htmlhint - 检查 Sublime 控制台(
Ctrl+`)是否有SublimeLinter: htmlhint linter not found报错
htmlhint 规则怎么自定义?
默认规则太松,比如允许 <img> 不写 alt,也不强制小写标签名。要收紧,得加配置文件。
如果你了解HTML,CSS和JavaScript,您已经拥有所需的工具开发Android应用程序。本动手本书展示了如何使用这些开源web标准设计和建造,可适应任何Android设备的应用程序 - 无需使用Java。您将学习如何创建一个在您选择的平台的Android友好的网络应用程序,然后转换与自由PhoneGap框架到一个原生的Android应用程序。了解为什么设备无关的移动应用是未来的潮流,并开始构建应用程序,提供更
- 在项目根目录放
.htmlhintrc,内容为 JSON 格式,例如:{ "tagname-lowercase": true, "attr-lowercase": true, "attr-value-double-quotes": true, "attr-no-duplication": true, "doctype-first": true } - 规则名必须和
htmlhint官方文档一致,拼错(如写成tagname_lowercase)会被忽略 - SublimeLinter 默认只读项目级
.htmlhintrc,不继承用户级配置;想全局生效,得在Preferences → Package Settings → SublimeLinter → Settings里加:"linters": { "htmlhint": { "@disable": false, "args": [], "excludes": [] } }再把规则写进args数组(不推荐,维护成本高)
自动闭合标签和格式化,别指望 htmlhint
SublimeLinter-contrib-htmlhint 是个 linter,不是 formatter —— 它只标出问题,不帮你补 ,也不重排缩进。
- 输入时自动闭合:开 Emmet 设置
"auto_close_tag": true(路径:Preferences → Package Settings → Emmet → Settings) - 手动闭合当前标签:用原生命令
close_tag(快捷键默认Ctrl+T, Ctrl+T),但需确保当前是 HTML 语法且光标在开始标签内 - 整页格式化:装
HTML-CSS-JS Prettify插件,依赖 Node.js,快捷键Ctrl+Shift+H(Windows/Linux)或Cmd+Shift+H(macOS) - 注意:Emmet 的
auto_close_tag和原生auto_close_tags(复数)不能共存,否则会生成双闭合标签,比如<div></div>
真正容易被忽略的是:htmlhint 的规则校验发生在保存瞬间,而 Emmet 的自动补全发生在输入过程中——它们解决的是不同时间点的问题。混用时务必关掉一个自动闭合机制,否则编辑器会“抢答”,反而打乱节奏。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!










