代码格式化工具 把乱糟糟的代码一键排整齐,或反过来压成单行。核心引擎是 Prettier 标准浏览器构建——同一套规则覆盖 JavaScript、TypeScript、JSX/TSX、Vue SFC、JSON、CSS/SCSS/LESS、HTML、Markdown、YAML、GraphQL 等主流语言,再叠加 sql-formatter(SQL 12 种方言)和 @prettier/plugin-xml(XML/SVG)两个补位方案。
| 格式化(Format) | 压缩(Minify) | |
|---|---|---|
| 目标 | 人类可读 | 体积最小 |
| 行宽 | 按 printWidth(默认 80)换行 | 尽量单行 |
| 注释 | 保留 | 部分保留(JSON 去掉) |
| 空格 | 规范缩进 | 合并为一处 |
| 适用 | 代码审查、提交前整理 | URL 参数、字符串字面量、配置瘦身 |
tabWidth(缩进宽度)、useTabs(Tab vs 空格)、printWidth(触发换行的最大行宽)、semi(行尾分号)、singleQuote(单引号优先)、trailingComma(末尾逗号策略)——与 Prettier 官方字段一一对应,换行缩进差异完全可控。SQL 语言额外可选 MySQL、PostgreSQL、T-SQL、BigQuery、Snowflake 等 11 种方言,关键字自动大写、子句对齐。
代码不会离开浏览器。Prettier 插件按选中语言按需动态加载,没选过 SQL 就不会拉 SQL 包,首屏轻量。数 MB 源码可以流畅处理,超大文件建议先关闭”实时”开关、改成点按钮触发。
⌘/Ctrl + Enter — 格式化⇧⌘ / Shift+Ctrl + Enter — 压缩本工具就是用的 Prettier 标准浏览器构建,核心行为一致——tabWidth、printWidth、semi、singleQuote、trailingComma 等选项都对标官方字段。差异是本工具额外集成了 SQL(sql-formatter)和 XML(@prettier/plugin-xml)。所有处理纯浏览器本地完成,不上传代码。
JavaScript/TypeScript/JSX/TSX、Vue SFC、JSON/JSONC、CSS/SCSS/LESS、HTML、Markdown、YAML、GraphQL、XML/SVG、SQL(支持 MySQL/Postgres/T-SQL/BigQuery 等 10+ 方言)。不支持:Python、Go、Java、C/C++、Rust——这些语言的浏览器端格式化没有稳定方案。
格式化(format)按行宽和缩进把代码排成人类可读的样子。压缩(minify)反向——尽量塞成一行、去注释。按语言策略不同:JSON 走 JSON.stringify 最稳;JS/TS 走 Prettier printWidth:∞ 单行;CSS/SQL 走 quote-aware 状态机(字符串内容原样保留);HTML/Vue/XML 只做 Prettier 窄化、不合并元素之间的空白——因为 <span>a</span> <span>b</span> 里的那个空格在渲染时是可见的,正则层面无法安全区分"可丢"和"不可丢"。想要激进的 HTML 体积压缩请另选专用压缩器。
纯文本文件 几 MB 以内 基本秒级完成。Prettier 的 JS/TS parser 对超大源文件会变慢(1 MB+ 可能几秒)。如果真的很卡,先关掉"实时"开关——停止边打边格式,只在点按钮时跑一次;再不行就把文件拆段处理。
格式化走 json5 parser,注释和末尾逗号都保留。压缩走 JSON.parse 路线,工具内部会先剥掉 // 和 /* */ 注释再解析,所以注释不保留(这是标准 JSON 的要求)。如果需要保留注释的压缩版,选"格式化"并把行宽设成 1000 即可。
状态栏会显示 Parser 抛出的错误,通常带行列号。常见原因:JS 缺分号/括号不匹配、JSON 多了末尾逗号(需切 JSONC)、YAML 缩进不一致、SQL 用了方言特有语法但选了错的 dialect。先按错误位置看上下一两行,90% 问题能直接看出来。