当前位置: 首页 > 面试题库 >

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

慕鹏
2023-03-14
问题内容

我对了解Java的高质量独立源代码格式器的可用选择感兴趣。

该格式必须是独立的,也就是说,它必须支持“批量”模式是从任何特定的开发环境脱钩。理想情况下,它也应独立于任何特定的操作系统。因此,这里对IDE du jour的内置格式化程序没有什么兴趣(除非IDE支持批处理模式格式化程序调用,也许是从命令行启动)。用封闭源C / C ++编写的仅在Windows上运行的格式化程序不是理想的,但有些有趣。

明确地说,“格式器”(或“美化器”)与“样式检查器”不同。格式化程序接受源代码作为输入,应用样式规则,并生成在样式上与原始源代码等效的样式化源代码。语法修改仅限于诸如在更改空格中修改代码布局或组织import语句之类的事情。很少(如果有)执行其他重构。样式检查器还应用样式规则,但是它只是报告违反规则的情况,而不会产生修改后的源代码作为输出。所以图片看起来像这样:

格式化程序(产生符合样式规则的修改后的源代码)

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

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

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

进一步说明

解决方案必须是高度可配置的。我希望能够指定自己的样式,而不仅仅是从预设列表中进行选择。

另外,我并不是在寻找用Java编写的可以漂亮打印许多东西的通用漂亮打印机。我想样式化Java代码。

我也不一定对多种语言的统一格式格式化感兴趣。我认为对于解决方案来说,它支持Java以外的其他语言可能会很好,但这不是必需的。

此外,仅执行代码突出显示的工具就可以 了。

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

最后,解决方案不必局限于开源,公共领域,共享软件,免费软件,商业软件或其他任何软件。所有形式的许可都是可以接受的。


问题答案:

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



 类似资料:
  • 问题内容: 我正在尝试找到一种易于理解的JavaScript数据结构调试方法。 我有一个相当大和复杂的数据结构存储在JS中,我需要编写一些代码来对其进行操作。为了弄清楚我在做什么和哪里出了问题,我真正需要的是能够完整地查看数据结构,并在我通过UI进行更改时对其进行更新。 除了找到一种将JavaScript数据结构转储到人类可读的字符串的好方法外,我还能处理所有这些事情。JSON可以,但是确实需要很

  • 问题内容: 什么是最好的在线代码美化器和格式化器?我不是在要求荧光笔。任何语言都可以。 问题答案: CSS:代码美化器 HTML:HTML Tidy,CleanUp HTML或通用的Pretty Diff Javascript:http://jsbeautifier.org/ PHP:http://beta.phpformatter.com/ SQL:http://dpriver.com/pp/s

  • 问题内容: 我正在尝试使用javax.json API漂亮地打印json 我当前使用的代码如下: 我收到以下异常: 问题答案: 您应该使用JsonWriter而不是JsonGenerator。 替换这些行: 用这些:

  • 问题内容: 在eclipse之外,有没有办法使用eclipse附带的格式化程序?我想使用我使用eclipse配置的formatter.xml文件来格式化一些Java文件。有没有人有任何代码示例可以让我做到这一点?我也想使用这个独立的,所以使用的特定罐子会很好。 问题答案: 显然,您可以从命令行直接调用Eclipse的代码格式化程序。

  • 问题内容: 我想打印NumPy表格数组数据,使其看起来不错。R和数据库控制台似乎表现出了很好的能力。但是,NumPy内置的表格数组打印看起来像垃圾: 我想要的东西看起来更像数据库吐出来的东西,例如postgres-style: 是否有任何好的第三方Python库来格式化美观的ASCII表? 我正在使用Python 2.5,NumPy 1.3.0。 问题答案: 我似乎有与prettytable良好的

  • 问题内容: 在使用“难看的” XML读取现有文件并进行一些修改后,漂亮的打印不起作用。我试过了。 我有以下XML: 我这样使用它: 问题答案: 对我来说,这个问题直到我在这里注意到这个小窍门才得以解决: http://lxml.de/FAQ.html#why-doesn-t-the-pretty-print-option-reformat-my-xml- output 简洁版本: 使用以下命令读入