2011-04-28 151 views
4

我知道在哪裏更改格式化程序的首選項並更改其中的選項。我無法弄清楚如何讓它按照我想要的方式進行格式化,並且如果可能的話,希望得到一些幫助來格式化這種「我的」方式。 :)自定義Eclipse格式化

它目前設置爲「Wrap where necessary」,這看起來最接近我想要的。然而,它產生的結果並不是我想要的。 的當前格式的例子看起來像

LOG.error(
    String.format(
     "Creating JSON Object from event array @ line number %d failed", 
     key.get()), e); 

這比什麼在那裏好得多。我重新格式化了這段代碼。在它看起來像

 LOG 
       .error(
         String 
           .format(
             "Creating JSON Object from event array @ line number %d failed", 
             key.get()), e); 

並且該格式是全部代碼。是的,Tab鍵被準確地反映爲代碼中的內容。以前的開發者必須具有不同的設置......看起來這是促使我編寫代碼的原因。做我的調查和檢查顯示我的設置(默認)產生第一個片段。如果這代表了所有的代碼,我可能會沒事的。但自從我開始寫作之後,我就繼續了。

所以,到我想要的。我想這最終成爲

LOG.error(String.format(
     "Creating JSON Object from event array @ line number %d failed", 
     key.get()), e); 

string被打破,因爲它延伸的線路長度key.get...得到打破,因爲它是過去線路長度。該字符串本身(如位置)超過行長度,這就是爲什麼key.get...被刪除一行。

我對eclipse中處理這個問題的設置不夠熟悉(今天發現他們感謝谷歌),隨機更改希望找到我要找的東西並不是一個選項的吸引力。

顯然,組件的長度會影響結果,因爲它是起始空白。
在格式化如何運行的兩個示例LOG.error(String.Format(不長於行長度。我不希望它分成兩行。我該如何改變以糾正這個問題? (人,這是一個很長的帖子的問題那麼簡單......嘿嘿)

UPDATE: 我試圖做//的建議之下,我得到了以下結果

LOG.error(
     String.format(
       // 
       "Creating JSON Object from event array @ line number %d failed", 
       key.get()), e); 
+0

這不是100%相關,但是您有沒有機會使用SLF4J? – Augusto 2011-04-28 23:03:25

+0

@Augusto:不,Log4j。 – Nija 2011-04-28 23:21:47

回答

1

感謝您的輸入。我似乎沒有能夠完全按照我的想法得到它。似乎並不存在靈活性。

我還有其他幾行幫助指導我設置的設置。

對於參數我有裹在必要縮進上列。
對於合格的調用我將它設置爲請勿包裝

其餘的發生率較低。我將它們設置爲必要時包裝縮進一個。我爲這些看到的幾個例子,它看起來像我喜歡的方式設置它們。

對於指定的行,我得到的結果與Digitalxero顯示的結果相同。如果我像Jean-Philippe Pellet所說的那樣使用//,它現在就會如他所示。
我不打算使用//(雖然我喜歡這個建議),因爲我不太在乎整個代碼分散//的格式。總體而言,這些設置使它達到了一切,它們都傾向於足夠接近我想要的地方。

1

不這個問題的完整答案,但是:強制Eclipse格式化程序打破這條線的一個簡單方法是假裝插入註釋。我不時在換行前添加//,Eclipse將不會恢復它,同時按照預期縮進下一行。在第二行

LOG.error(String.format(// 
     "Creating JSON Object from event array @ line number %d failed", 
     key.get()), e); 

也許另一個//需要太,根據您的首選線寬:

所以我想試試這個。

+0

嘗試了你的建議,沒有爲我工作。結果在OP。 – Nija 2011-05-02 22:42:15

0

你需要編輯 縮進有一個標籤尺寸:4

在換行選項卡

  • 設置默認縮進換行到1
  • 在函數調用應該是
    • 必要時換行(5之5)
    • 加列(5之5)

我開始與Java約定[內置]和只取得了這些變化,它原來

LOG.error(String.format("Creating JSON Object from event array @ line number %d failed",key.get()), e); 

LOG.error(String.format("Creating JSON Object from event array @ line number %d failed", 
         key.get()), e);