google-java-format
是一个重新格式化 Java 源代码以符合 Google Java 风格的程序。
下载格式化程序并运行它:
java -jar /path/to/google-java-format-${GJF_VERSION?}-all-deps.jar <options> [files...]
格式化程序可以作用于整个文件、有限行( --lines
)、特定偏移量( --offset
)、传递到标准输出(默认)或就地更改( --replace
)。
要重新格式化特定补丁中更改的行,请使用google-java-format-diff.py
。
注意:格式化程序的格式化算法不可配置。这是一个经过深思熟虑的设计决定,旨在将我们的代码格式统一为单一格式。
插件存储库中提供了 google-java-format IntelliJ 插件。要安装它,请转到 IDE 的设置并选择Plugins
类别。单击Marketplace
选项卡,搜索google-java-format
插件,然后单击Install
按钮。
默认情况下该插件将被禁用。要启用,请打开项目设置,然后单击“google-java-format 设置”并选中“启用 google-java-format”复选框。
要在新项目中默认启用它,请打开新项目的默认设置并在“Other Settings/google-java-format Settings”下进行配置。
启用后,它将取代正常的重新Reformat Code
和Optimize Imports
操作。
google-java-format 插件使用一些内部类,如果没有额外的配置,这些类将不可用。要使用该插件,您需要向 IDE 的 Java 运行时添加一些选项。为此,请转到Help→Edit Custom VM Options...
并粘贴以下行:
--add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED
--add-exports=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED
--add-exports=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED
--add-exports=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED
--add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED
--add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED
完成后,重新启动 IDE。
最新版本的google-java-format
Eclipse 插件可以从发布页面下载。将其放入 Eclipse drop-ins 文件夹中以激活插件。
该插件添加了google-java-format
格式化程序实现,可以在Window > Preferences > Java > Code Style > Formatter > Formatter Implementation
中配置。
格式化程序可以用在生成java的软件中,以输出更清晰的java代码。只需将库包含在您的 maven/gradle/etc 中即可。配置。
google-java-format
使用内部 javac API 来解析 Java 源代码。由于 JEP 396:默认强封装 JDK 内部,在 JDK 16 及更高版本上运行时需要以下 JVM 标志:
--add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED
--add-exports=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED
--add-exports=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED
--add-exports=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED
--add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED
--add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED
< dependency >
< groupId >com.google.googlejavaformat</ groupId >
< artifactId >google-java-format</ artifactId >
< version >${google-java-format.version}</ version >
</ dependency >
dependencies {
implementation ' com.google.googlejavaformat:google-java-format:$googleJavaFormatVersion '
}
然后,您可以通过formatSource
方法使用格式化程序。例如
String formattedSource = new Formatter (). formatSource ( sourceString );
或者
CharSource source = ...
CharSink output = ...
new Formatter (). formatSource ( source , output );
您的起点应该是com.google.googlejavaformat.java.Formatter
的实例方法。
mvn install
有关详细信息,请参阅贡献者指南。
Copyright 2015 Google Inc.
Licensed under the Apache License, Version 2.0 (the "License"); you may not
use this file except in compliance with the License. You may obtain a copy of
the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
License for the specific language governing permissions and limitations under
the License.