必须将html格式规则固化进项目:通过.vscode/settings.json强制指定prettier为默认格式器、启用formatonsavemode: "modifications",配合.prettierrc与.editorconfig双配置(前者管美化,后者管编辑器底层行为),并统一ci/cd中htmlhint的error/warn分级,确保跨团队、跨编辑器、跨平台一致落地。

跨团队协作时,HTML代码质量标准无法自动对齐,必须靠可落地的工具链+轻量但强制的规则来约束,否则每次合并都像在解冲突谜题。
怎么让不同团队的VS Code自动用同一套HTML格式规则
关键不是说服所有人改设置,而是把规则固化进项目本身。VS Code 会优先读取项目根目录下的 .vscode/settings.json,只要它存在且提交进 Git,新成员一打开项目就生效。
- 配置里必须显式指定
"editor.defaultFormatter": "esbenp.prettier-vscode",不能只依赖全局安装 -
"editor.formatOnSave"要设为true,但得配合"editor.formatOnSaveMode": "modifications",避免保存时重排整个文件引发无意义 diff - 禁用其他 HTML 格式化插件(比如 Beautify),它们和 Prettier 规则冲突时会静默失效,查起来极难定位
为什么 .prettierrc 和 .editorconfig 必须同时存在
.prettierrc 管“怎么美化”,.editorconfig 管“编辑器底层行为”。缺一个,就会出现「保存时缩进正常,但粘贴代码时又变制表符」这类问题。
-
.editorconfig中的indent_style = space和indent_size = 2是硬性基础,连 WebStorm、Sublime 都认 -
.prettierrc里的"tabWidth": 2只影响 Prettier 自己的格式化行为,不控制粘贴、回车等编辑动作 - 如果团队有人用 Vim 或 NeoVim,
.editorconfig是唯一能跨编辑器同步缩进行为的方式
HTMLHint 检查项哪些该设为 error,哪些只能 warn
CI/CD 流程中,只有设为 error 的规则才会阻断合并;但全设成 error 容易被绕过(比如加 <!-- htmlhint disable --> 注释)。要分层处理:
- 必须为
error:doctype-first、meta-charset-require、tagname-lowercase—— 这些是解析和渲染前提,错一个整页可能挂掉 - 建议为
warn:attr-lowercase、attr-quote-style—— 属于风格问题,人工 review 时快速确认即可 - 别开:
id-class-ad-disabled这类语义化检查,除非团队已统一培训并配了 axe-core 做可访问性扫描,否则纯靠 HTMLHint 提示没人理
跨团队共享规则时最容易被忽略的三个点
工具配置能抄,但执行细节没人提醒就会漏。尤其当 A 团队用 CodeSandbox、B 团队用本地 VS Code 时,以下三点直接决定规则是否真落地:
-
.prettierrc文件里不能写注释(JSON 不支持),但很多人习惯加// 强制双引号,结果 Prettier 直接静默失效,格式化完全不工作 - 不同团队的 husky 版本可能不一致:
lint-staged在 v14+ 默认只处理 staged 文件,而老版本会扫整个src/,导致本地格式化和 CI 行为不一致 - 在线协作平台(如 CodeSandbox)默认不读取
.editorconfig,必须手动在设置里开启「Use EditorConfig」开关,否则空格/制表符照样乱
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











