google-java-format
est un programme qui reformate le code source Java pour se conformer au Google Java Style.
Téléchargez le formateur et exécutez-le avec :
java -jar /path/to/google-java-format-${GJF_VERSION?}-all-deps.jar <options> [files...]
Le formateur peut agir sur des fichiers entiers, sur des lignes limitées ( --lines
), sur des décalages spécifiques ( --offset
), en passant par la sortie standard (par défaut) ou modifiée sur place ( --replace
).
Pour reformater les lignes modifiées dans un patch spécifique, utilisez google-java-format-diff.py
.
Remarque : Il n'est pas possible de configurer l'algorithme de formatage du formateur. Il s'agit d'une décision de conception délibérée visant à unifier le formatage de notre code sur un format unique.
Un plugin IntelliJ au format google-java est disponible dans le référentiel de plugins. Pour l'installer, accédez aux paramètres de votre IDE et sélectionnez la catégorie Plugins
. Cliquez sur l'onglet Marketplace
, recherchez le plugin google-java-format
et cliquez sur le bouton Install
.
Le plugin sera désactivé par défaut. Pour l'activer, ouvrez les paramètres du projet, puis cliquez sur "Paramètres du format google-java" et cochez la case "Activer le format google-java".
Pour l'activer par défaut dans les nouveaux projets, ouvrez les paramètres par défaut pour les nouveaux projets et configurez-le sous « Autres paramètres/Paramètres du format google-java ».
Lorsqu'elle est activée, elle remplacera les actions normales Reformat Code
et Optimize Imports
.
Le plugin google-java-format utilise certaines classes internes qui ne sont pas disponibles sans configuration supplémentaire. Pour utiliser le plugin, vous devez ajouter quelques options au runtime Java de votre IDE. Pour ce faire, allez dans Help→Edit Custom VM Options...
et collez ces lignes :
--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
Une fois que vous avez fait cela, redémarrez l'EDI.
La dernière version du plugin Eclipse google-java-format
peut être téléchargée à partir de la page des versions. Déposez-le dans le dossier déroulant Eclipse pour activer le plugin.
Le plugin ajoute une implémentation du formateur google-java-format
qui peut être configurée dans Window > Preferences > Java > Code Style > Formatter > Formatter Implementation
.
Le formateur peut être utilisé dans un logiciel qui génère du Java pour générer du code Java plus lisible. Incluez simplement la bibliothèque dans votre maven/gradle/etc. configuration.
google-java-format
utilise des API javac internes pour analyser la source Java. Les indicateurs JVM suivants sont requis lors de l'exécution sur JDK 16 et versions ultérieures, en raison de la norme JEP 396 : Encapsuler fortement les éléments internes du JDK par défaut :
--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 '
}
Vous pouvez ensuite utiliser le formateur via les méthodes formatSource
. Par exemple
String formattedSource = new Formatter (). formatSource ( sourceString );
ou
CharSource source = ...
CharSink output = ...
new Formatter (). formatSource ( source , output );
Votre point de départ doit être les méthodes d'instance de com.google.googlejavaformat.java.Formatter
.
mvn install
Veuillez consulter le guide des contributeurs pour plus de détails.
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.