Вы можете попробовать запустить форматтер как автономное приложение (также подробно здесь ).
eclipse -vm <path to virtual machine> -application org.eclipse.jdt.core.JavaCodeFormatter [ OPTIONS ] <files>
Попробуйте сначала определить параметры форматирования с помощью eclipse IDE, чтобы получить правильный результат, затем экспортируйте эти параметры и используйте этот файл конфигурации в параметрах eclipse.exe.
Или см. Также «Создание файла конфигурации для приложения форматирования»
eclipse [...] -config <myExportedSettings>
В Java-программе вы можете попробовать напрямую отформатировать:
- Создание экземпляра
CodeFormatter
- Использование метода void
format(aString)
в этом экземпляре для форматирования aString. Он вернет отформатированную строку.
Благодаря Geo и его отчету в его записи в блоге , теперь я знаю, что вам нужно использовать 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();
}
Опять полные сведения в записи блога. Спасибо, Гео, за этот отзыв!
Торбьерн Равн Андерсен упоминает в комментариях :
Плагин Maven2 Java Formatter v0.4 описывает плагин maven, который позволяет Maven вызывать форматтер Eclipse.
Начиная с 0.4 он вызывает Eclipse 3.5, который не поддерживает Java 8.