Java 格式化工具
使用 Prettier Java 插件格式化 Java 源代码,统一缩进、大括号位置、空格和换行。粘贴类、record、接口或代码片段,支持 record、sealed 类型、switch 表达式和文本块等现代语法;选择 2 个或 4 个空格或制表符,并设置打印宽度,即可复制格式整洁的代码,用于代码评审、文档或拉取请求。
常见问题
代码由哪个引擎格式化?
该工具在服务器上使用 Prettier 3 和 prettier-plugin-java 2.11,通过 tree-sitter 语法解析 Java。相同代码始终会生成相同输出。
支持哪些 Java 版本?
支持当前 Java 语法,包括 record、sealed 类和接口、模式匹配、switch 表达式、文本块、var 和 lambda。较旧的 Java 8 代码也能正常格式化。
默认缩进是什么?
每级缩进 4 个空格,这是最常见的 Java 约定。你可以改用 2 个空格或制表符,并将打印宽度设置为 40 到 200 个字符,默认值为 80。
输入必须是完整文件吗?
不必。包含 package、import 和类型声明的完整文件效果最好,但也接受单个类或几条语句这样的代码片段。代码片段只需能解析为 Java。
如何报告语法错误?
如果问题是大括号、圆括号或方括号不匹配,或字符串、注释未闭合,错误信息会指出所在行和列。对于其他错误,解析器只会报告代码不是有效的 Java,有时会指出缺少的标记。
注释和 Javadoc 会保留吗?
会。行注释、块注释和 Javadoc 会继续附着在所属代码上,注释文本不会重新换行。
格式化工具会重新排列 import 或成员吗?
不会。import、字段和方法会保持原有顺序。只有空白、换行和缩进会改变。
可以格式化 Android 或 Spring 代码吗?
可以。注解、泛型和框架代码都属于常规 Java,因此 Android Activity、Spring 控制器和类似类的格式化方式相同。
输入内容可以有多大?
每次请求最多可处理 1 MB 源文本,足以应对非常大的类。格式化会在 10 秒后停止。
我的源代码会被保存吗?
不会。代码在内存中格式化后会直接发回。服务只记录请求大小,绝不会记录请求内容。