Dart 代码格式化工具
使用 dart_style 风格规则格式化和美化 Dart / Flutter 源代码 — 按括号深度重新缩进、规范化运算符间距、排序和分组导入,以及在多行列表中添加尾随逗号。
输入
格式化选项
输出
使用此工具的更多方式
REST API
curl -X POST https://api.iotools.cloud/v1/tool/dart-code-formatter \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"dartInput": "import 'package:flutter/material.dart';\nimport '…",
"indentSize": "2",
"sortImports": "true",
"trailingCommas": "true",
"removeBlankLines": "true"
}'替换成您账户中的密钥。工具的字段即为请求体——没有额外包装。
让 AI 代理执行
Use the IOTools `dart-code-formatter` tool (Dart Code Formatter) on this input:
YOUR_INPUT_HERE将此粘贴给任何已连接 IOTools MCP 服务器的代理,再加上您的输入内容。
嵌入式小组件
<iframe
src="https://iotools.cloud/embed/dart-code-formatter/"
width="100%" height="520" frameborder="0" scrolling="no" loading="lazy"
title="Dart 代码格式化工具 — iotools.cloud"
sandbox="allow-scripts allow-forms allow-same-origin allow-downloads allow-popups allow-popups-to-escape-sandbox"
allow="clipboard-write"
style="width:100%;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden"></iframe>
<script src="https://iotools.cloud/embed.js" async></script>把它放到您自己的页面上——免费,无需密钥,只需保留一个反向链接。
| 每次 API/MCP 调用费用 | 5 积分起 |
|---|---|
| 需要更多积分? | 查看定价 |
也可通过
使用指南
Dart 代码格式化工具在您的浏览器中清理和美化 Dart 和 Flutter 源代码。粘贴杂乱、手写或压缩的 Dart 代码,它将重新缩进每个块、规范化运算符间距、排序导入并整理多行参数列表 — 全部瞬间完成,无需向服务器发送任何内容。它遵循官方 Dart 风格工具 dart format 的精神,采用快速且无依赖的一组规则。
如何使用
- 将 Dart 代码粘贴到输入框中,或上传
.dart文件。 - 选择缩进大小 — 2 个空格(Dart 默认值)、4 个空格或制表符。
- 切换您想要的格式化选项:导入排序、尾随逗号和空行合并。
- 格式化后的结果显示在右侧,可以复制或下载为
formatted.dart。
格式化在您输入时自动执行,因此您可以调整选项并实时观看输出更新。
功能
- 按嵌套深度重新缩进。 花括号
{}、括号()和方括号[]驱动缩进级别,因此嵌套的类、函数和集合保持一致对齐。Dart 感知的分词器意味着字符串和注释内的括号永远不会影响缩进。 - 规范化运算符间距。 在
=、==、=>、??、&&、||、复合赋值周围以及逗号和映射冒号之后添加整洁的空格 — 同时完全保留字符串和注释的内容。 - 排序和分组指令。 启用时,
import/export行按字母顺序排序并分为三个常规组:首先dart:,然后package:,然后是相对路径,由空行分隔。 - 添加尾随逗号。 多行参数、参数和集合列表在其结束
)或]之前获得尾随逗号,这使 Dart 自己的格式化工具满意并产生更清洁的差异。 - 折叠额外空行并在顶级声明之间插入空行。
这与 dart format 相同吗?
它受到 dart format 的启发,但是是一个轻量级启发式格式化工具,而不是完全重新实现。它可靠地重新缩进和间隔标记,但不像官方工具那样包装或重新流动长行。对于大多数日常清理 — 粘贴的片段、生成的代码或修复缩进 — 它会产生干净、可读的输出。对于规范的构建管道格式,请在本地运行官方 dart format。
这会改变我代码的行为吗?
不会。它只调整空白、缩进、空行、尾随逗号和导入顺序。它永远不会重写标识符、字符串内容或逻辑,因此编译结果是相同的。
我可以格式化 Flutter 小部件树吗?
可以。深度嵌套的小部件构造函数会正确重新缩进,尾随逗号选项与 Flutter 开发者用来保持小部件树可读性的风格相匹配。
为什么导入排序移动了我的注释?
排序只重新排序 import/export 指令行本身。如果您依赖特定的导入顺序,请保持"排序和分组指令"选项关闭。
隐私
一切都在您的浏览器中本地运行。您的 Dart 代码永远不会被上传、存储或发送到任何地方 — 格式化逻辑完全在您的设备上运行,因此可以安全地用于私有或专有源代码。