跳转到正文

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 选项相同。

关于 OneClick Pro

OneClick Pro 是一个免费的工具集合,包含超过 150 种网络工具,助你处理日常工作:转换图像和单位、格式化和验证代码、检查域名和 SEO,以及处理文本、日期和数字。所有工具均可免注册、免订阅使用;你输入的内容仅用于计算结果,绝不会被存储。你可以将它用作处理临时任务的快捷工具箱,也可以收藏每天都会用到的工具。