Vous pouvez essayer d'exécuter le formatter comme standalone application (également detailed here).
eclipse -vm <path to virtual machine> -application org.eclipse.jdt.core.JavaCodeFormatter [ OPTIONS ] <files>
Essayez d'abord définir les paramètres de formatage avec Eclipse IDE afin d'obtenir le bon résultat, puis d'exporter ces paramètres, et utiliser ce fichier de configuration dans les paramètres de eclipse.exe.
Ou voir aussi "Generating a Config File for the Formatter Application"
eclipse [...] -config <myExportedSettings>
Dans un programme java, vous pouvez essayer de formater directement par:
- Création d'une instance de
CodeFormatter
- En utilisant le vide de la méthode
format(aString)
sur cette instance pour formater aString. Il retournera la chaîne formatée.
Merci à Geo lui-même et son rapport his blog entry, je sais maintenant, vous devez utiliser DefaultCodeFormatter
String code = "public class geo{public static void main(String[] args){System.out.println(\"geo\");}}";
CodeFormatter cf = new DefaultCodeFormatter();
TextEdit te = cf.format(CodeFormatter.K_UNKNOWN, code, 0,code.length(),0,null);
IDocument dc = new Document(code);
try {
te.apply(dc);
System.out.println(dc.get());
} catch (MalformedTreeException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (BadLocationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Encore une fois, tous les détails dans l'entrée de blog. Merci Geo pour ces commentaires!
Thorbjørn Ravn Andersen mentions in the comments:
Maven2 Java Formatter Plugin v0.4 décrit un plugin Maven qui permet Maven d'invoquer l'Eclipse formatter.
A partir de 0,4 il appelle Eclipse 3.5 qui ne prend pas en charge Java 8.
Impressionnant! J'ai mis à jour ma réponse avec le principe principal de votre post pour les futurs lecteurs SO, mais merci encore pour vos commentaires sur cette question. – VonC