【问题标题】:Best Eclipse Code Formatters? [closed]最好的 Eclipse 代码格式化程序? [关闭]
【发布时间】:2011-04-14 20:11:13
【问题描述】:

默认的 Eclipse 格式化程序以一种非常有趣的方式格式化我的 Java 代码。

例如:hello.show().x().y() 会奇怪地被格式化为 x().y(),并放在单独的一行。

还有其他可以做得更好的基本格式化程序吗?

非常欢迎提供示例和链接。

【问题讨论】:

  • 定义“真的很有趣”?如:你不喜欢它的什么?
  • 我不希望在单独的行中调用这些方法,对吗?
  • 当行太长时会发生这种情况。如果 x().y() 超出右边距,我会考虑将行拆分一下。

标签: java eclipse formatting eclipse-formatter


【解决方案1】:

我强烈推荐 google's style guide,常用编程语言的编码风格指南合集。

可以在here 找到 Eclipse 可配置 Java 指南。安装指南非常简单,将样式 xml 保存到文件并使用以下对话框导入:

窗口 -> 首选项 -> Java -> 代码样式 -> 格式化程序

最后选择活动配置文件为 GoogleStyle

【讨论】:

  • 现在使用 Eclipse Mars 导入时会引发错误。具体详情:Problems reading profiles from XML Attribute name "data-pjax-transient" associated with an element type "meta" must be followed by the ' = ' character.
  • github.com/google/google-java-format 试试这个解决方案
  • @anon58192932 如果您从 github 网页下载文件(例如另存为),则会出现“data-pjax-transient”错误。然后内容是 HTML 而不是 XML 文件!如果您真正下载原始文件,它可以工作......
  • 不要使用它,它甚至不会格式化 HTML
  • 非常适合 java 和 eclipse 的格式化程序
【解决方案2】:

我总是将 Eclipse 中的格式化程序更改为 Java Convention 并将选项卡策略更改为始终使用空格而不是制表符或制表符和空格的混合。有时我还将线宽更改为 100 或 120(80 个字符在我的显示器中太窄了)。

关于您的具体要求:是的,您可以更改此行为。转到格式化程序首选项并创建您自己的配置文件。在选项卡 Line Wrapping 上修改它并取消选中 Prefer wrapping outer expressions (keep nested expression on one line)

更多信息:https://bugs.eclipse.org/bugs/show_bug.cgi?id=313524

【讨论】:

  • 正是我想要的
  • 宽线的唯一问题是当您要求 Eclipse 打印它们时...
  • 旧帖,但仍会回复。打印是个问题。我同意。我正在为团队最终确定一个格式化程序。我赞成 Java 约定,只有空格,块和行注释格式关闭,120 行。作为程序员,我们需要摆脱 80 行的约定。在宽 LCD 在软件开发公司中非常普遍的这些日子里,我们必须开始转向 120 行惯例并减轻我们眼睛的痛苦。
【解决方案3】:

Thorbjørn 指出,除了自定义格式化程序的能力外,还可以从特定项目导入编码约定,尤其是来自您正在处理的框架和库的那些。

例如,Spring framework coding conventions 已可用,Android 的情况也是如此。最终,您最好从 Sun 编码约定开始(而不是完全手工制作的约定),并进行一些调整以适应您组织的编码风格和可读性要求。

【讨论】:

    【解决方案4】:

    您是否考虑过查看格式化程序的首选项?你基本上可以配置它来做任何你想做的事情。

    不过,我会强烈考虑标准的 Eclipse 格式。仅使用该标准,然后调整您的编码风格以使其正常工作,这将有很大帮助。

    【讨论】:

    • Almost 任何你想要的。 :(
    猜你喜欢
    • 2010-09-25
    • 2012-01-14
    • 2011-07-04
    • 2021-01-12
    • 2012-11-23
    • 2017-02-16
    • 1970-01-01
    • 2010-11-17
    相关资源
    最近更新 更多