我有兴趣了解用于Java的高质量,独立源代码格式化器的可用select。 格式化程序必须是独立的,也就是说,它必须支持与任何特定开发环境分离的“批处理”模式 。 理想情况下,它也应该独立于任何特定的操作系统 。 因此,IDE du jour的内置格式化程序在这里没什么兴趣(除非IDE支持批处理模式格式化程序调用,可能来自命令行)。 用只能在Windows上运行的闭源C / C ++编写的格式化程序并不理想,但有点有趣。 要清楚的是,“格式化程序”(或“美化”)不同于“样式检查程序”。 格式化程序接受源代码作为input,应用样式规则,并生成语义上等同于原始源代码的样式化的源代码。 语法修改仅限于修改代码布局,如更改空白或组织import语句。 很less,如果有的话,执行其他重构。 样式检查器也应用样式规则,但只是报告违反规则而不产生修改的源代码作为输出。 所以图片看起来像这样: 格式化程序 (生成符合样式规则的修改的源代码) 阅读源代码→应用样式规则→编写风格的源代码 样式检查器 (不会产生修改的源代码) 阅读源代码→应用样式规则→写入规则违规 进一步说明 解决scheme必须是高度可configuration的。 我希望能够指定我自己的风格,而不是简单地从预设列表中select。 另外,我不是在寻找一种用Java编写的通用漂亮打印机,它可以打印很多东西。 我想风格的Java代码。 我也不一定对许多语言的macros大统一格式化程序感兴趣 。 我想这可能是一个很好的解决scheme来支持Java以外的语言,但这不是必需的。 而且, 只执行代码突出显示的工具 正确 无误 。 我对Web服务也不感兴趣。 我想要一个我可以在本地运行的工具。 最后,解决scheme不必限于开源,公共领域,共享软件,免费软件,商业或其他任何东西。 所有forms的许可都可以接受 。