CodeToolProCodeToolProFree Online Developer Tools
GitHub

TOML Formatter

TOML Input

  • Formatted TOML

  • 技术详情

    TOML 格式化器的工作原理

    工具功能

    TOML 格式化器可美化和验证 TOML 配置文件。工具解析 TOML 语法树,按规范格式重新输出——键值对自动对齐、section 之间添加空行分隔、数组和行内表保持紧凑格式、日期时间和布尔值规范化为标准写法。支持自定义缩进宽度、键值对对齐方式(按 = 对齐或不)、以及数组是否每个元素单行。压缩模式将 TOML 压缩为紧凑的单行或最小化格式,去除所有注释和不必要的空白。


    常见开发者使用场景

    TOML 格式化器在多种项目配置场景中适用。Python 项目的 pyproject.toml 需要定期维护依赖和构建设置,格式化器确保文件保持整洁。Rust 项目的 Cargo.toml 在多人协作中容易出现格式不一致——格式化后更容易审核配置变更。GitHub Actions 或 CI/CD 流水线在验证配置文件时,格式化器作为 lint 步骤确保 TOML 语法正确性和格式一致性。批量生成 TOML 配置文件(如多环境部署配置)时,自动格式化确保输出符合标准。

    配合 JSON TOML 转换器 检查转换结果的格式,或使用 YAML 格式化器 对比不同配置语言的结构。


    TOML 规范与格式化规则

    TOML v1.0 规范的关键格式要求:

    • 键名规则:裸键(bare key)只能包含 A-Za-z0-9_-,带引号的键可使用任意字符。格式化时保持键名原样。
    • 数据类型:字符串(支持多行 """...""")、整数(支持二进制、八进制、十六进制和下划线分隔)、浮点数、布尔值、日期时间和数组。
    • Table 层级:[table] 表示标准 table,[[array]] 表示数组 table。点号分隔创建嵌套层级(如 [a.b.c])。
    • 行内表(Inline Table):{key = "value"} 格式的一行式写法,适合简单嵌套结构。

    常见陷阱与注意事项

    • 重复键检测:TOML 不允许重复的键名,格式化器在解析时会检测到重复并提示错误。
    • Table 顺序:TOML 要求所有标准 table 在数组 table([[array]])之前定义,格式化器会保持或修正这种顺序关系。
    • 注释保留:格式化时应尽量保留原始注释的位置和内容,特别是 section 前的描述性注释。
    • 字符串转义:格式化器不应修改字符串字面量内容,TOTML 字面量字符串('...' 单引号)中的反斜杠不需要转义。

    何时使用此工具而非代码

    在清理项目配置文件、审查依赖变更、或批量生成配置时使用此工具。对于 CI/CD 中的自动化格式校验,推荐使用 taplo(专门的 TOML 工具箱,支持格式化和 lint)、toml-sort(Python)或 EvenBetterTOML(VSCode 扩展)提供的实时格式化和语法高亮。