TOML 格式化工具的主要特性
- **一键美化** TOML 配置文件及代码片段
- **可配置缩进大小**,通过*缩进大小*滑块选择 1 到 8 个空格
- **缩进样式切换** – 选择空格或制表符进行缩进
- **换行/行长控制**,使长数组和内联表保持在选定列宽内
- 支持 `.toml` 文件,如 `pyproject.toml`、`Cargo.toml`、`Pipfile.toml`、`poetry.toml` 等
- 基于 Prettier 的 TOML 解析器,理解日期、数组、嵌套表和内联表
- 稳定、幂等的格式化 – 对同一文件重复运行不会导致格式漂移
- 一键复制格式化输出,可直接用于编辑器或提交
🛠️ 如何在线格式化 TOML 文件 for toml-formatter
1. 粘贴或上传您的 TOML
📥 将 TOML 粘贴到编辑器中,或拖放 `.toml` 文件(如 `pyproject.toml` 或 `Cargo.toml`)。该工具将内容解析为 TOML,而非通用 INI/JSON。
2. 选择缩进和换行设置
⚙️ 使用**缩进大小**滑块选择每级缩进的空格数,如果项目偏好,可切换**缩进样式**为制表符。调整**换行/行长**以控制长数组或内联表何时换行(或设置为 `0` 以禁用换行)。
3. 点击“格式化”
🚀 点击**格式化**按钮。格式化工具将重新排列数组、清理 `=` 和逗号周围的空格、规范化表间距,并在保留数据的同时强制执行一致的换行。
4. 审查、复制或保存
🔍 比较原始和格式化后的 TOML。满意后,将结果复制回编辑器或在项目中保存为新的 `.toml` 文件。
技术规格
支持的 TOML 功能
该格式化工具专为实际项目配置构建,理解现代 TOML 结构。
| 功能 | 支持 | 示例/备注 |
|---|---|---|
| 表与子表 | ✅ 完全支持 | [tool.poetry]、[project]、[database.replica] |
| 数组 | ✅ 完全支持 | 内联数组和表数组 |
| 内联表 | ✅ 完整 | servers = { alpha = "10.0.0.1", beta = "10.0.0.2" } |
| 日期与时间 | ✅ 完整 | 2025-09-23T10:20:30Z 及本地日期格式 |
| 注释 | ✅ 保留 | # 注释保留在它们描述的设置附近 |
| 多行字符串 | ✅ 完整 | 三引号TOML字符串用于长文本块 |
格式化选项(映射至工具控件)
这些选项直接在用户界面中暴露,并连接到底层的Prettier TOML插件:
| 选项 | 界面控件 | 范围 / 值 | 默认值 |
|---|---|---|---|
| 缩进大小 | 缩进大小滑块 | 1–8 空格 | 2 空格 |
| 缩进样式 | 缩进样式选择器 | 空格 / 制表符 | 空格 |
| 行长度 | 换行 / 行长度 | 0–120 列(0 = 基本不换行) | 80 列 |
| 行尾 | 行尾(内部) | LF / CRLF | 浏览器输出为LF |
输入与限制
该工具针对应用仓库中常见的中小型TOML文件进行了优化。
| 参数 | 值 / 行为 | 备注 |
|---|---|---|
| 文件扩展名 | .toml | 任何基于TOML的配置文件 |
| MIME类型 | application/toml, text/x-toml | 用于拖放区域中的文件检测 |
| 最大文件大小 | ~5 MB | 较大文件可能处理较慢,更适合在CI中处理 |
| 最大字符数 | ≈ 2,000,000 | 格式化器运行时的硬性限制,以避免浏览器卡死 |
验证与错误处理
如果您的文件不是有效的TOML(例如缺少`=`或引号不匹配),格式化器通常会返回可读的错误信息而非格式化输出。请修复指示的行并重新运行格式化器。
TOML格式化的命令行替代方案
喜欢这个结果并希望在CI或预提交钩子中使用相同样式?以下是适合CLI的选项:
跨平台(Node.js / Prettier)
安装Prettier和TOML插件
npm install --save-dev prettier prettier-plugin-toml将Prettier和TOML解析器添加到您的项目中。
使用Prettier格式化TOML文件
npx prettier --parser toml --write pyproject.toml使用Prettier的TOML规则原地重写`pyproject.toml`。
Linux / macOS / Windows (Taplo CLI)
使用Taplo格式化TOML
taplo fmt pyproject.toml另一个流行的TOML文件CLI格式化工具。
在CI中检查格式化
taplo fmt --check .如果TOML文件未正确格式化,则使构建失败。
常见TOML格式化器使用场景
Python打包 (`pyproject.toml`)
保持Python项目元数据和工具配置的整洁与易于审查。
- 对齐`[project]`、`[tool.poetry]`和`[tool.black]`部分。
- 规范化依赖数组和版本限定符。
- 使拉取请求中的配置差异更易于阅读。
[project]
name = "my-app"
version = "0.1.0"
[tool.black]
line-length = 88
include = "\.(py|pyi)$"
Rust项目 (`Cargo.toml`)
整理跨工作区和微服务的Rust包清单。
- 保持 `[dependencies]` 和 `[dev-dependencies]` 排序整齐且间距一致。
- 规范化用于复杂功能标志的内联表格。
- 在工作区的多个 crate 中统一格式化标准。
[package]
name = "my-crate"
version = "0.1.0"
edition = "2021"
[dependencies]
serde = { version = "1.0", features = ["derive"] }
tokio = { version = "1", features = ["full"] }
静态站点与工具(Hugo、Zola 等)
清理用于静态站点生成器及各类工具的 TOML 配置。
- 为 Hugo 或其他静态站点生成器格式化 `config.toml`。
- 保持多语言配置块的可读性。
- 规范化长列表,如菜单项和分类法。
❓ Frequently Asked Questions
❓什么是 TOML 格式化工具?
📏如何选择缩进大小和样式?
🧪格式化工具会验证 TOML 语法吗?
🔁运行格式化工具会改变配置行为吗?
🔒格式化敏感配置文件是否安全?
Pro Tips
在主分支中维护格式良好的 `pyproject.toml` 或 `Cargo.toml`,然后在 CI 中使用 Prettier 或 Taplo 强制执行相同样式。
在提交大型依赖项或配置更改前格式化 TOML,让 Git 差异聚焦于**实际变更**,而非空白干扰。
重构配置时,先格式化文件并提交,再修改数值。这有助于更轻松地审查实际变更内容。
在所有TOML文件中使用相同的**缩进大小**和**换行长度**,使跨项目导航和代码审查感觉一致。
Additional Resources
Other Tools
- CSS 美化器
- HTML 美化器
- JavaScript 美化器
- PHP 美化器
- 颜色选择器
- 精灵图提取器
- Base64 解码器
- Base64 编码器
- C# 格式化器
- CSV 格式化器
- Dockerfile Formatter
- Elm 格式化器
- ENV 格式化器
- Go 格式化器
- GraphQL 格式化器
- HCL 格式化器
- INI 格式化器
- JSON 格式化器
- LaTeX 格式化器
- Markdown 格式化器
- Objective-C 格式化器
- Php Formatter
- Proto 格式化器
- Python 格式化器
- Ruby 格式化器
- Rust 格式化器
- Scala 格式化器
- Shell 脚本格式化器
- SQL 格式化器
- SVG 格式化工具
- Swift 格式化工具
- Typescript Formatter
- XML 格式化工具
- YAML 格式化工具
- Yarn 格式化工具
- CSS 压缩器
- Html Minifier
- Javascript Minifier
- JSON 压缩器
- XML 压缩器
- HTTP 头部查看器
- PDF 转文本
- 正则表达式测试器
- 搜索引擎排名检查器
- Whois 查询