独立的Java代码格式化程序/美化/漂亮的打印机?

Gre*_*tes 81 java coding-style code-formatting

我有兴趣了解Java的高质量,独立源代码格式化程序的可用选择.

该格式必须独立的,也就是说,它必须支持"批量"模式从任何特定的开发环境脱钩.理想情况下,它也应该独立于任何特定的操作系统.因此,IDE du jour的内置格式化程序在这里没什么意义(除非该IDE支持批处理模式格式化程序调用,可能来自命令行).用封闭源C/C++编写的格式化程序只能在Windows上运行,这并不理想,但有点有趣.

需要说明的是,"格式化程序"(或"美化")与"样式检查程序"不同.格式化程序接受源代码作为输入,应用样式规则,并生成在语义上等效于原始源代码的样式化源代码.语法修改仅限于修改代码布局,如更改空格或组织import语句.如果有的话,很少进行其他重构.样式检查器还应用样式规则,但它只报告规则违规,而不会将修改后的源代码作为输出.所以图片看起来像这样:

Formatter(生成符合样式规则的修改后的源代码)

阅读源代码→应用样式规则→编写样式源代码

样式检查器(不生成修改后的源代码)

阅读源代码→应用样式规则→写入规则违规

进一步澄清

解决方案必须高度可配置.我希望能够指定自己的风格,而不是简单地从预设列表中选择.

另外,我不是在寻找一种用Java编写的通用漂亮打印机,它可以打印很多东西.我想设计Java代码的样式.

也不一定许多语言的统一格式化程序感兴趣.我认为对于支持除Java以外的语言的解决方案可能会很好,但这不是必需的.

此外,只有执行的代码高亮工具正确的 .

我对网络服务也不感兴趣.我想要一个可以在本地运行的工具.

最后,解决方案不必限于开源,公共领域,共享软件,自由软件,商业或其他任何东西.所有形式的许可均可接受.

Jon*_*Jon 25

JIndent(商业)做你想要的:

http://www.jindent.com/

我过去也使用过Jalopy这样做,它是开源的:

http://jalopy.sourceforge.net/

编辑:我会注意到Jalopy相当陈旧,似乎没有最新的更新.我不太确定它是否适用于Java 5/6.你可能想看看Jacobe:

http://www.tiobe.com/index.php/content/products/jacobe/Jacobe.html

在Roedy Green的网站上还有一个更完整的格式化列表:

http://mindprod.com/jgloss/beautifier.html

  • 还有 [google-java-format](https://github.com/google/google-java-format)。 (2认同)

not*_*oop 14

您还可以从命令行运行Eclipse重新格式化程序.查看此博客条目


Bri*_*new 7

可能对Jalopy感兴趣.它将插入Ant,因此独立于您的IDE.

Astyle也可能有用.它是开源的(如Jalopy),但是用C++编写.它适用于格式化Java/C/C++,可以批量驱动(通过shell脚本或类似)


归档时间:

查看次数:

59936 次

最近记录:

6 年,2 月 前