Loading…

关于 在线 TOML 格式化工具

杂乱的 `pyproject.toml`、`Cargo.toml` 或 `poetry` 配置?粘贴您的 TOML 或拖放文件,我们的格式化器将规范化空白字符、整理数组和内联表格,并保持各节间距一致。适用于 Python、Rust、Go、静态站点生成器及任何依赖 TOML 进行配置的项目。

TOML 格式化工具的主要特性

  • **一键美化** TOML 配置文件及代码片段
  • **可配置缩进大小**,通过*缩进大小*滑块选择 1 到 8 个空格
  • **缩进样式切换** – 选择空格或制表符进行缩进
  • **换行/行长控制**,使长数组和内联表保持在选定列宽内
  • 支持 `.toml` 文件,如 `pyproject.toml`、`Cargo.toml`、`Pipfile.toml`、`poetry.toml` 等
  • 基于 Prettier 的 TOML 解析器,理解日期、数组、嵌套表和内联表
  • 稳定、幂等的格式化 – 对同一文件重复运行不会导致格式漂移
  • 一键复制格式化输出,可直接用于编辑器或提交

🛠️ 如何在线格式化 TOML 文件 for toml-formatter

1

1. 粘贴或上传您的 TOML

📥 将 TOML 粘贴到编辑器中,或拖放 `.toml` 文件(如 `pyproject.toml` 或 `Cargo.toml`)。该工具将内容解析为 TOML,而非通用 INI/JSON。

2

2. 选择缩进和换行设置

⚙️ 使用**缩进大小**滑块选择每级缩进的空格数,如果项目偏好,可切换**缩进样式**为制表符。调整**换行/行长**以控制长数组或内联表何时换行(或设置为 `0` 以禁用换行)。

3

3. 点击“格式化”

🚀 点击**格式化**按钮。格式化工具将重新排列数组、清理 `=` 和逗号周围的空格、规范化表间距,并在保留数据的同时强制执行一致的换行。

4

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文件未正确格式化,则使构建失败。

使用此在线工具进行快速编辑和实验,然后在CI流水线中使用Prettier或Taplo强制执行相同样式。

常见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 格式化工具能自动重构您的 TOML 文件,使其遵循一致的风格:修正缩进、对齐数组和内联表格、统一 `=` 和逗号周围的空格,并在保持数据不变的同时提升可读性和审查便利性。

📏如何选择缩进大小和样式?

如果团队没有偏好,**2 个空格**是个不错的默认值。请匹配仓库中已有的风格:若文件大多使用空格缩进,则继续使用空格;若制表符是团队标准,请将**缩进样式**切换为制表符,以便新更改与现有代码对齐。

🧪格式化工具会验证 TOML 语法吗?

底层解析器会拒绝无效的 TOML(例如缺少 `=` 或引号不匹配)。此时,工具会显示错误信息而非格式化输出,以便您修复问题后重试。

🔁运行格式化工具会改变配置行为吗?

格式化工具设计为**语义保持**:仅更改空白和布局,不改变键、值或表格结构。只要原始文件是有效的 TOML,您的配置含义应保持不变。

🔒格式化敏感配置文件是否安全?

与任何在线工具一样,请避免粘贴高度敏感内容(如生产环境密钥)。对于高度机密的配置,请在私有开发环境中使用本地 TOML 格式化工具(如 Prettier 或 Taplo)。

Pro Tips

Best Practice

在主分支中维护格式良好的 `pyproject.toml` 或 `Cargo.toml`,然后在 CI 中使用 Prettier 或 Taplo 强制执行相同样式。

Best Practice

在提交大型依赖项或配置更改前格式化 TOML,让 Git 差异聚焦于**实际变更**,而非空白干扰。

Best Practice

重构配置时,先格式化文件并提交,再修改数值。这有助于更轻松地审查实际变更内容。

Best Practice

在所有TOML文件中使用相同的**缩进大小**和**换行长度**,使跨项目导航和代码审查感觉一致。

Additional Resources

Other Tools