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.