# 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 秒后停止。

### 我的源代码会被保存吗？

不会。代码在内存中格式化后会直接发回。服务只记录请求大小，绝不会记录请求内容。

在这里投放广告？

[给我们发邮件](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)
