最近我编写了一些工具来帮助我生成 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 的格式化程序格式化其输出,那就太好了。
我当然可以在生成代码后手动运行格式化程序,但我真的想自动执行此过程。
所以,长话短说,有谁知道如何在我自己的 Java 代码中使用 Eclipse 的代码格式化程序?
最佳答案
如果您想从自己的 Java 代码中使用 Eclipse 格式化程序,我建议您看一下 maven java formatter plugin .
它是一个maven插件,可用于基于Eclipse代码格式化设置文件对源代码进行格式化。
如果你不想使用 maven 但想将格式化代码嵌入到你自己的代码中,请查看 FormatterMojo .它包含启动 Eclipse 代码格式化程序的代码(使用 Eclipse 库)
这一切都是免费和开源的。
关于java - 从自己的程序中使用 Eclipse 代码格式化程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14788225/