# Flow 格式化工具

使用此 Flow 格式化工具格式化带 Flow 类型的 JavaScript。粘贴包含类型别名、精确对象类型、带注解的函数或 @flow pragma 的代码，工具会逐个标记重新排版：每级缩进两个空格，类型注解和运算符周围加空格，语句末尾加分号，并让精确对象的大括号紧凑排列。适合维护 Flow 代码库的开发者整理代码片段，以便审查、迁移和编写文档。

## 常见问题

### Flow Formatter 如何工作？

它会将代码拆分为大括号、分号、运算符、字符串和注释等标记，再据此重新排版。代码块缩进两个空格，语句以分号结尾，运算符周围的空格保持一致。

### 精确对象类型如何格式化？

精确对象类型的竖线紧贴大括号，括号内各留一个空格，例如 type Props = {| name: string, age: number |}。类型内部冒号和逗号后的空格会统一规范。

### @flow 注释会保留吗？

会，// @flow pragma 以及所有其他行注释和块注释都会保留。行注释始终单独占一行，因此后续代码会从新的一行开始。

### 格式化工具会对代码进行类型检查吗？

不会，它既不运行 Flow，也不验证语法，因此也能格式化不完整的代码片段。请在项目中运行 flow check 来查找类型错误。

### 泛型和类型参数会保留吗？

会，Array<string> 或 Map<K, V> 等类型中的尖括号会被识别，因此不会被误认为比较运算符。尖括号内逗号后的空格会统一规范。

### 可以更改缩进宽度吗？

不可以，输出始终使用两个空格缩进，也没有样式选项。这样可以确保每次运行以及团队成员之间的格式保持一致。

### 字符串会被更改吗？

不会，字符串字面量、模板字面量和正则表达式都会按原样复制。只有标记之间的空白会更改。

### 为什么输出会用 javascript 代码围栏包裹？

Flow 是一种类型化JavaScript，因此结果会以标记为 javascript 的Markdown代码块返回，大多数语法高亮工具都能正确渲染。复制围栏之间的代码行，粘贴到你的 .js 或 .flow 文件中。

### 格式化会改变代码的行为吗？

此工具只会重新排列空白，并在语句末尾添加分号。如果你的代码依赖于以圆括号或方括号开头且不带分号的行，请检查格式化结果。

### 最多可以格式化多少代码？

每次运行最多可处理 5 MB 代码；输入超过此大小会被拒绝并显示提示。结果与 Code Formatter 的 Flow 选项相同。

在这里投放广告？

[给我们发邮件](mailto:hi@dennn.is?subject=%E5%9C%A8%20OneClick%20Pro%20%E4%B8%8A%E6%8A%95%E6%94%BE%E5%B9%BF%E5%91%8A)

[广告 适用于 WordPress 的智能体就绪型插件套件。](https://sleekwp.com/?ref=oneclickpro)
