用 prettier cli 批量格式化 html 文件最稳,命令为 prettier --write "*/.html",支持缩进、引号等规则配置,适用于脚本与 ci/cd,不依赖编辑器,且避免在线工具的安全与性能风险。

用 Prettier CLI 批量格式化 HTML 文件最稳
本地已有多个 .html 文件需要统一缩进、换行和引号风格,直接上 prettier 命令行是最可靠的选择。它不依赖编辑器状态,不弹窗、不卡顿,适合脚本集成或 CI/CD 场景。
- 先确保已安装 Node.js,再全局安装:
npm install -g prettier - 进入目标目录后执行:
prettier --write "**/*.html"(注意双引号防止 shell 展开) - 若只处理子目录下的 HTML,可用
prettier --write "src/**/*.html" - 加
--list-different参数可预检哪些文件会被修改,避免误改 - 默认用 2 空格缩进,如需 4 空格,加
--tab-width 4;想禁用分号就加--no-semi
常见坑:Windows PowerShell 下双引号可能失效,建议改用 Git Bash 或加转义;另外 prettier 不处理 <script></script> 和 <style></style> 内部的 JS/CSS,需单独配置语言插件。
VS Code 里批量格式化 HTML 的实际限制
VS Code 自带的“格式化文档”快捷键(Shift + Alt + F)只对当前打开的文件生效,无法跨文件批量操作——哪怕你同时打开了 20 个 .html 标签页,它也不会自动遍历格式化。
- 真正能批量做的,是配合
prettier插件 + “保存时格式化” + 文件监视器,但本质仍是单文件触发 - 想一次处理整个文件夹?必须用命令行或写任务脚本,比如在
.vscode/tasks.json里定义一个 shell 任务调用prettier --write - 如果项目没配
.prettierrc,Prettier 会按默认规则走,可能导致和团队规范不一致(比如用双引号而非单引号) - 某些老旧 HTML(如含
font标签或无闭合br)可能被重写为 XHTML 风格(<br>
),这不是 bug,是 Prettier 的 HTML5 解析行为
在线工具不适合批量 HTML 格式化
像 freeformatter.com 这类网页工具,一次只能粘贴一段 HTML 代码,无法上传并处理多个文件。所谓“批量”,只是指它能格式化你粘进去的长文本里的多个标签,不是指多个 .html 文件。
- 上传文件功能基本是假的——它们不真读取本地文件,只是让你复制粘贴内容
- 大段 HTML(>1MB)容易卡死或截断,且无错误日志反馈
- 如果你有 50 个 HTML 文件,手动复制粘贴 50 次,比写一行
prettier命令还慢 - 敏感内容别往在线工具里扔,哪怕页面说“不上传”,网络请求痕迹仍可能存在
Python 脚本批量格式化适合要加逻辑的场景
当你要在格式化前做清洗(比如删掉所有 script 标签)、或按文件名分类处理、或把格式化结果写入新目录时,Python 就比 CLI 更灵活。
- 用
BeautifulSoup的prettify()最简单,但它只控制缩进,不管引号、分号、空格等细节 - 想完全复刻 Prettier 行为?得调用系统命令:
subprocess.run(["prettier", "--write", file_path]) - 注意编码问题:
open(file_path, encoding="utf-8")必须显式指定,否则 Windows 上容易报UnicodeDecodeError - 别用
html2text来“格式化”HTML——它是转 Markdown 的,会把所有标签干掉
真正难的不是“怎么批量”,而是“要不要保留原始语义”。比如表格嵌套、自定义属性、注释位置,不同工具处理策略差异很大,动手前先拿一个典型文件试跑几轮。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











