ver*_*age 10 java eclipse freemarker code-formatting
最近我写了一些工具,帮助我生成Java代码,否则这将是漫长而乏味的任务.我使用freemarker来编写模板.但是,模板中的所有空格都保留在输出中,导致代码非常混乱.我可以从我的模板中删除缩进来修复此问题,但这会使我的模板无法维护.
考虑这个简单的示例模板:
public class MyTestClass
{
<#list properties as p>
private String ${p.name};
</#list>
}
Run Code Online (Sandbox Code Playgroud)
我的模板格式很好,但我的代码是这样的:
public class MyTestClass
{
private String prop1;
private String prop2;
private String prop3;
}
Run Code Online (Sandbox Code Playgroud)
缩进有点太多了,它应该是:
public class MyTestClass
{
private String prop1;
private String prop2;
private String prop3;
}
Run Code Online (Sandbox Code Playgroud)
要做到这一点,我必须从我的模板中删除缩进,如下所示:
public class MyTestClass
{
<#list properties as p>
private String ${p.name};
</#list>
}
Run Code Online (Sandbox Code Playgroud)
对于这个简单的情况,从模板中删除缩进并不是一个真正的问题,但是您可以想象复杂的模板变得非常难以理解.
一方面我真的希望我的代码格式很好,但另一方面我希望我的模板格式也很好.我使用Eclipse作为IDE,内置格式化器完全根据我(和我的团队)的愿望进行定制.如果我能以某种方式从freemarker模板生成代码并作为后处理步骤格式化其输出与Eclipse的格式化器,那将是很好的.
我当然可以在生成代码后手动运行格式化程序,但我真的想自动执行此过程.
所以,长话短说,有谁知道如何在我自己的Java代码中使用Eclipse的代码格式化程序?
如果您想在自己的 java 代码中使用 Eclipse 格式化程序,我建议您查看maven java formatter 插件。
它是一个maven插件,可用于基于Eclipse代码格式化设置文件来格式化源代码。
如果您不想使用 maven 但想将格式化代码嵌入到您自己的代码中,请查看FormatterMojo。它包含启动 Eclipse Code Formatter 的代码(使用 Eclipse 库)
一切都是免费和开源的。
| 归档时间: |
|
| 查看次数: |
548 次 |
| 最近记录: |