google-java-format
es un programa que reformatea el código fuente de Java para cumplir con el estilo Google Java.
Descargue el formateador y ejecútelo con:
java -jar /path/to/google-java-format-${GJF_VERSION?}-all-deps.jar <options> [files...]
El formateador puede actuar en archivos completos, en líneas limitadas ( --lines
), en desplazamientos específicos ( --offset
), pasando a salida estándar (predeterminado) o alterado en el lugar ( --replace
).
Para reformatear las líneas modificadas en un parche específico, use google-java-format-diff.py
.
Nota: No se puede configurar el algoritmo de formateo del formateador. Esta es una decisión de diseño deliberada para unificar el formato de nuestro código en un solo formato.
Un complemento IntelliJ en formato Google Java está disponible en el repositorio de complementos. Para instalarlo, vaya a la configuración de su IDE y seleccione la categoría Plugins
. Haga clic en la pestaña Marketplace
, busque el complemento google-java-format
y haga clic en el botón Install
.
El complemento estará deshabilitado de forma predeterminada. Para habilitarlo, abra la configuración del proyecto, luego haga clic en "Configuración de formato google-java" y marque la casilla de verificación "Habilitar formato google-java".
Para habilitarlo de forma predeterminada en proyectos nuevos, abra la configuración predeterminada para proyectos nuevos y configúrela en "Otras configuraciones/Configuraciones de formato google-java".
Cuando esté habilitado, reemplazará las acciones normales Reformat Code
y Optimize Imports
.
El complemento google-java-format utiliza algunas clases internas que no están disponibles sin una configuración adicional. Para utilizar el complemento, debe agregar algunas opciones al tiempo de ejecución de Java de su IDE. Para hacerlo, vaya a Help→Edit Custom VM Options...
y pegue estas líneas:
--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
Una vez que haya hecho eso, reinicie el IDE.
La última versión del complemento Eclipse google-java-format
se puede descargar desde la página de lanzamientos. Colóquelo en la carpeta desplegable de Eclipse para activar el complemento.
El complemento agrega una implementación de formateador google-java-format
que se puede configurar en Window > Preferences > Java > Code Style > Formatter > Formatter Implementation
.
El formateador se puede utilizar en software que genera java para generar código java más legible. Simplemente incluya la biblioteca en su maven/gradle/etc. configuración.
google-java-format
utiliza API javac internas para analizar el código fuente de Java. Se requieren los siguientes indicadores de JVM cuando se ejecuta en JDK 16 y versiones posteriores, debido a JEP 396: Encapsular fuertemente los componentes internos de JDK de forma predeterminada:
--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 '
}
Luego puede utilizar el formateador a través de los métodos formatSource
. P.ej
String formattedSource = new Formatter (). formatSource ( sourceString );
o
CharSource source = ...
CharSink output = ...
new Formatter (). formatSource ( source , output );
Su punto de partida deberían ser los métodos de instancia de com.google.googlejavaformat.java.Formatter
.
mvn install
Consulte la guía para contribuyentes para obtener más detalles.
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.