TOML作为配置文件的格式越来越常见——pyproject.toml、Cargo.toml、config.toml,几乎每个项目都有。但说实话,写TOML的体验远不如JSON或YAML那么顺滑:缩进对不齐、数组换行混乱、键值对没对齐……tombi 就是来解决这个问题的。

这是一个 876 stars 的Rust项目,提供完整的TOML工具链:格式化器、Linter、语言服务器。名字”Tombi”(鳶)来自日语”黑鸢”,发音 /toɴbi/。

核心能力

功能说明
Formatter自动格式化TOML,支持对齐、换行、注释保留
Linter检查TOML语法和潜在问题
Language Server提供LSP支持,包括补全、跳转、悬停提示

编辑器支持

tombi几乎覆盖了主流编辑器生态:

编辑器安装方式
VS CodeMarketplace
JetBrains插件市场
Zed内置扩展
Vim/NeovimLSP配置

快速体验

不需要安装,用uvx直接运行:

uvx tombi format pyproject.toml

或安装到系统:

# Homebrew
brew install tombi

# PyPI
pip install tombi

# npm
npm install -g tombi

格式化效果示例

格式化前

[package]
name="my-app"
version="1.0.0"
dependencies={
serde="1.0",
   tokio={version="1.0",features=["full"]}
}

格式化后

[package]
name = "my-app"
version = "1.0.0"

[package.dependencies]
serde = "1.0"

[package.dependencies.tokio]
version = "1.0"
features = ["full"]

项目信息

属性详情
GitHubtombi-toml/tombi
Stars876
语言Rust
LicenseMIT
文档tombi-toml.github.io/tombi

为什么用tombi而不是其他工具?

  1. 纯Rust实现 - 性能优秀,启动快
  2. LSP完整支持 - 不只是格式化,还有智能提示
  3. 编辑器生态齐全 - 不用为不同编辑器找不同插件
  4. 活跃维护 - 2024年10月创建,持续更新

如果你的项目里有很多TOML文件需要维护,tombi能让这个过程轻松很多。