Использование форматирования кода Eclipse из собственной программы

Недавно я написал несколько инструментов, которые помогают мне генерировать код Java для того, что в противном случае было бы долгим и утомительным заданием. Я использую freemarker для написания шаблонов. Тем не менее, все пробелы в шаблонах сохраняются на выходе, что приводит к довольно грязному коду. Я мог бы удалить отступы из своих шаблонов, чтобы исправить это, но это делает мои шаблоны довольно непроницаемыми.

Рассмотрим этот простой пример шаблона:

public class MyTestClass
{
    <#list properties as p>
        private String ${p.name};
    </#list>
}

Мой шаблон хорошо отформатирован, но мой код выглядит следующим образом:

public class MyTestClass
{
        private String prop1;
        private String prop2;
        private String prop3;
}

Отступы слишком много, это должно быть:

public class MyTestClass
{
    private String prop1;
    private String prop2;
    private String prop3;
}

Для этого мне нужно удалить отступ из моего шаблона следующим образом:

public class MyTestClass
{
    <#list properties as p>
    private String ${p.name};
    </#list>
}

В этом простом случае на самом деле не проблема удалить отступ из моего шаблона, но вы можете представить, что сложные шаблоны становятся совершенно нечитаемыми.

С одной стороны, я очень хочу, чтобы мой код был хорошо отформатирован, но с другой стороны я хотел бы, чтобы мои шаблоны были хорошо отформатированы. Я использую Eclipse как IDE, с встроенным форматом, полностью настроенным для моих пожеланий (и моей команды). Было бы здорово, если бы я мог каким-то образом генерировать код из шаблонов freemarker и в качестве постобработного этапа форматировать его выход с форматом Eclipse.

Я могу, конечно, запустить форматтер вручную после создания моего кода, но я действительно хочу автоматизировать этот процесс.

Итак, длинный рассказ, кто-нибудь знает, как я могу использовать форматирование кода Eclipse в своем собственном Java-коде?

Ответ 1

Если вы хотите использовать форматировщик Eclipse из своего собственного кода Java, я предлагаю вам взглянуть на плагин maven java formatter.

Это плагин maven, который можно использовать для форматирования исходного кода на основе файлов настроек форматирования кода Eclipse.

Если вы не хотите использовать maven, но хотите вставить код форматирования в свой собственный код, посмотрите FormatterMojo. Он содержит код, который запускает Formatter Eclipse Codeatter (с использованием библиотек Eclipse)

Все это бесплатно и с открытым исходным кодом.