概述
Tron 可在修改文件后自动运行格式化工具,保持代码风格一致。无论是个人项目还是团队协作,统一的代码格式能显著减少代码审查中的格式争议,让开发者专注于逻辑本身。
Tron 的格式化集成是非侵入式的——它尊重项目已有的格式化配置,并在 AI 完成文件修改后自动触发相应的格式化工具。
自动格式化
通过 autoFormat 配置项,可以让 Tron 在每次保存文件后自动运行对应的格式化工具,无需手动触发。
提示
启用 autoFormat 后,Tron 会根据文件扩展名自动选择合适的格式化器,无需为每个文件单独配置。
将 autoFormat 设置为 true 即可开启全局自动格式化:
json
{
"autoFormat": true
}
也可以针对特定语言开启或关闭自动格式化:
json
{
"autoFormat": {
"javascript": true,
"typescript": true,
"python": true,
"go": true,
"rust": false
}
}
支持的格式化器
Tron 内置支持以下主流格式化工具,会自动检测系统中是否安装:
| 格式化器 | 支持语言 | 安装方式 |
|---|---|---|
| prettier | JavaScript / TypeScript / CSS / HTML / JSON / Markdown | npm install -g prettier |
| black | Python | pip install black |
| ruff | Python | pip install ruff |
| gofmt | Go | 随 Go 工具链内置 |
| rustfmt | Rust | 随 Rust 工具链内置 |
| clang-format | C / C++ / Objective-C | brew install clang-format 或包管理器安装 |
优先级说明
对于 Python,如果同时安装了 ruff 和 black,Tron 优先使用 ruff,因为它速度更快。可通过配置强制指定格式化器。
配置示例
在 config.json 中通过 formatters 字段进行详细配置:
json
{
"autoFormat": true,
"formatters": {
"javascript": {
"command": "prettier",
"args": ["--write", "{{file}}"]
},
"typescript": {
"command": "prettier",
"args": ["--write", "{{file}}"]
},
"python": {
"command": "ruff",
"args": ["format", "{{file}}"]
},
"go": {
"command": "gofmt",
"args": ["-w", "{{file}}"]
},
"rust": {
"command": "rustfmt",
"args": ["{{file}}"]
},
"c": {
"command": "clang-format",
"args": ["-i", "{{file}}"]
}
}
}
其中 {{file}} 是占位符,Tron 会在运行时将其替换为实际的文件路径。
项目配置优先
Tron 在运行格式化工具时,会优先读取项目根目录中的格式化配置文件,确保格式化结果与团队规范一致:
- prettier:读取
.prettierrc、.prettierrc.json、prettier.config.js等 - black / ruff:读取
pyproject.toml中的[tool.black]或[tool.ruff]配置段 - clang-format:读取
.clang-format文件 - rustfmt:读取
rustfmt.toml或.rustfmt.toml
这意味着你无需在 Tron 中重复配置格式化规则——只需确保项目中有对应的配置文件即可。
建议
将格式化配置文件(如 .prettierrc、pyproject.toml)提交到 Git 仓库,让所有团队成员和 Tron 使用相同的格式化规则。