tombi:876⭐的TOML格式化工具与语言服务器
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 Code | Marketplace |
| JetBrains | 插件市场 |
| Zed | 内置扩展 |
| Vim/Neovim | LSP配置 |
快速体验
不需要安装,用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"]
项目信息
| 属性 | 详情 |
|---|---|
| GitHub | tombi-toml/tombi |
| Stars | 876 |
| 语言 | Rust |
| License | MIT |
| 文档 | tombi-toml.github.io/tombi |
为什么用tombi而不是其他工具?
- 纯Rust实现 - 性能优秀,启动快
- LSP完整支持 - 不只是格式化,还有智能提示
- 编辑器生态齐全 - 不用为不同编辑器找不同插件
- 活跃维护 - 2024年10月创建,持续更新
如果你的项目里有很多TOML文件需要维护,tombi能让这个过程轻松很多。