2010-09-20 155 views
34

默認的Eclipse格式化器以一種非常有趣的方式格式化我的Java代碼。最佳Eclipse代碼格式化程序?

例如:hello.show().x().y()會奇怪地被格式化爲x().y(),並放置在單獨的行中。

是否還有其他基本格式化器可以做得更好?

示例和鏈接非常受歡迎。

+5

定義「很有趣」?如:你喜歡什麼? – Blam 2010-09-20 18:39:28

+1

我不想在單獨的行上調用這些方法,是嗎? – duffymo 2010-09-20 18:44:13

+2

線路太長時會發生這種情況。如果x()。y()超過右邊距,我會考慮將線分割一點。 – 2010-09-20 18:47:35

回答

27

我總是將Eclipse中的格式化程序更改爲Java Convention並將選項卡策略更改爲始終使用空格而不是選項卡或混合選項卡和空格。有時我也會將線寬更改爲100或120(我的顯示器中80個字符太窄)。

關於您的具體要求:是的,你可以改變這種行爲。轉到格式化程序首選項並創建您自己的配置文件。修改它在選項卡線環繞並取消選中Prefer wrapping outer expressions (keep nested expression on one line)

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

+0

正是我在找的 – 2010-09-20 18:53:29

+0

只有當你問Eclipse打印它們時,只有廣泛的問題是...... – 2011-08-02 20:22:25

+0

舊的線程,但仍會回覆。打印是一個問題。我同意。我正在爲團隊定稿格式化人員。我贊成只使用空格的Java慣例,關閉塊和行註釋格式,以及120行。我們作爲程序員需要擺脫80線公約。在這些日子裏,寬屏液晶顯示器在軟件開發公司中非常普遍,我們必須開始轉向120線規範,並減輕我們眼中的痛苦。 – RuntimeException 2014-03-25 14:52:54

5

您是否考慮過查看格式化程序的首選項?你基本上可以配置它來做你想做的任何事情。

但是,我會強烈地考慮標準的Eclipse格式。它只需使用標準就可以起到很大作用,然後調整編碼風格以便與之協調一致。

+0

[Almost](http://stackoverflow.com/q/8686252/403455)任何你想要的。 :( – 2012-01-04 20:48:25

8

除了自定義格式的能力,通過托爾比約恩所示,也可以導入編碼從具體項目,特別是從框架和庫,你是那些公約工作。

例如,Spring framework coding conventions已經可用,與Android的情況一樣。最後,最好從Sun編碼慣例開始(而不是完全手工編寫),並根據組織的編碼風格和可讀性要求進行一些調整。

65

我強烈推薦使用 google's style guide,它是常用編程語言的編碼風格指南的集合。

eclipse可配置Java指南可以找到here。安裝嚮導很簡單,保存樣式的XML文件,並使用下面的對話框導入:

窗口 - >首選項 - >爪哇 - >代碼樣式 - >格式化

最後選擇活動配置文件爲GoogleStyle

+6

這會在Eclipse Mars中導入時引發錯誤。具體細節:'從XML讀取配置文件時出現問題 與元素類型「meta」關聯的屬性名稱「data-pjax-transient」必須後跟'='字符.' – anon58192932 2015-09-28 08:40:45

+2

https://github.com/google/google -java格式請嘗試此解決方案 – vikramvi 2016-07-21 13:49:10

+1

@ anon58192932如果從github網頁下載文件(例如另存爲),則會發生「data-pjax-transient」錯誤。內容是HTML,而不是** XML文件!如果你真的下載了原始文件,它可以工作... – Lonzak 2017-01-17 14:36:34