google-java-format
adalah program yang memformat ulang kode sumber Java agar sesuai dengan Google Java Style.
Unduh formatter dan jalankan dengan:
java -jar /path/to/google-java-format-${GJF_VERSION?}-all-deps.jar <options> [files...]
Pemformat dapat bertindak pada keseluruhan file, pada baris terbatas ( --lines
), pada offset tertentu ( --offset
), melewati standar-out (default) atau diubah di tempat ( --replace
).
Untuk memformat ulang baris yang diubah pada patch tertentu, gunakan google-java-format-diff.py
.
Catatan: Tidak ada konfigurasi algoritma pemformat untuk pemformatan. Ini adalah keputusan desain yang disengaja untuk menyatukan pemformatan kode kami dalam satu format.
Plugin IntelliJ format google-java tersedia dari repositori plugin. Untuk menginstalnya, buka pengaturan IDE Anda dan pilih kategori Plugins
. Klik tab Marketplace
, cari plugin google-java-format
, dan klik tombol Install
.
Plugin akan dinonaktifkan secara default. Untuk mengaktifkan, buka pengaturan Proyek, lalu klik "Pengaturan format google-java" dan centang kotak "Aktifkan format google-java".
Untuk mengaktifkannya secara default di proyek baru, buka pengaturan default untuk proyek baru dan konfigurasikan di bawah "Pengaturan Lainnya/Pengaturan format google-java".
Jika diaktifkan, ini akan menggantikan tindakan Reformat Code
dan Optimize Imports
yang normal.
Plugin format google-java menggunakan beberapa kelas internal yang tidak tersedia tanpa konfigurasi tambahan. Untuk menggunakan plugin ini, Anda perlu menambahkan beberapa opsi ke runtime Java IDE Anda. Untuk melakukannya, buka Help→Edit Custom VM Options...
dan tempelkan baris berikut:
--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
Setelah Anda selesai melakukannya, mulai ulang IDE.
Versi terbaru dari plugin Eclipse google-java-format
dapat diunduh dari halaman rilis. Letakkan di folder drop-in Eclipse untuk mengaktifkan plugin.
Plugin ini menambahkan implementasi formatter google-java-format
yang dapat dikonfigurasi di Window > Preferences > Java > Code Style > Formatter > Formatter Implementation
.
Pemformat dapat digunakan dalam perangkat lunak yang menghasilkan java untuk menghasilkan kode java yang lebih mudah dibaca. Cukup sertakan perpustakaan di maven/gradle/etc. konfigurasi.
google-java-format
menggunakan API javac internal untuk mengurai sumber Java. Flag JVM berikut diperlukan ketika dijalankan pada JDK 16 dan yang lebih baru, karena JEP 396: Mengenkapsulasi Internal JDK dengan Kuat secara Default:
--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 '
}
Anda kemudian dapat menggunakan formatter melalui metode formatSource
. Misalnya
String formattedSource = new Formatter (). formatSource ( sourceString );
atau
CharSource source = ...
CharSink output = ...
new Formatter (). formatSource ( source , output );
Titik awal Anda adalah metode contoh com.google.googlejavaformat.java.Formatter
.
mvn install
Silakan lihat panduan kontributor untuk rinciannya.
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.