题 最好的Eclipse代码格式化程序? [关闭]


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

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

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

非常欢迎示例和链接。


37
2017-09-20 18:38


起源


定义“真的好笑”?如:你不喜欢什么? - Blam
我不希望那些方法调用分开,你呢? - duffymo
当线太长时会发生这种情况。如果x()。y()超出右边距,我会考虑将线分割一下。 - Thorbjørn Ravn Andersen


答案:


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

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

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


28
2017-09-20 18:44



正是我在寻找的东西 - Sheehan Alam
只有当你要求Eclipse打印它们时,只有宽线的问题... - Thorbjørn Ravn Andersen
旧线程但仍会回复。印刷是一个问题。我同意。我正在为团队最终确定格式化程序。我赞成Java Convention只有空格,块和行注释格式关闭,120行。我们作为程序员需要摆脱80线的惯例。在这些日子里,液晶显示器在软件开发公司中非常普遍,我们必须开始采用120线的惯例并减轻我们眼中的痛苦。 - RuntimeException


我强烈推荐 谷歌的风格指南,它是常用编程语言的编码风格指南的集合。

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

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

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


68
2017-08-24 10:11



现在使用Eclipse Mars导入时会抛出错误。具体细节: Problems reading profiles from XML Attribute name "data-pjax-transient" associated with an element type "meta" must be followed by the ' = ' character. - anon58192932
github.com/google/google-java-format 试试这个解决方案 - vikramvi
@ anon58192932如果从github网页下载文件(例如另存为),则会出现“data-pjax-transient”错误。然后内容是HTML和 不 XML文件!如果您真正下载原始文件,它的工作原理...... - Lonzak
不要使用它甚至不格式化HTML - Philip Rego


除了能够自定义格式化程序之外,如Thorbjørn所示,还可以从特定项目中导入编码约定,尤其是您正在处理的框架和库中的编码约定。

例如, Spring框架编码约定 已经提供,如同 Android的。最终,您最好从Sun编码约定开始(而不是完全手工制作),并进行一些调整以满足您组织的编码风格和可读性要求。


8
2017-09-20 18:58





您是否考虑过查看格式化程序的首选项?您基本上可以将其配置为执行任何操作。

但是,我会强烈考虑标准的Eclipse格式。使用标准有很大帮助,然后调整编码风格以便与之配合使用。


5
2017-09-20 18:41



几乎 任何你想要的。 :( - Jeff Axelrod