簡體   English   中英

如何在Eclipse for Java中為字符串和其他項使用不同的換行

[英]How to use different line wrapping for strings and other items in Eclipse for Java

我想在運算符之后使用換行符進行字符串換行,然后在Eclipse for Java中使用其他項(數字,自定義對象,...)之前的換行符。

當添加具有不同符號的數字時,操作員對我來說比數字更重要。 讓前面的操作員更好地閱讀語句會很好:

一種。

int foo =  baaa
           + veryveryveryloooooongexpression
           - shortexpression
           + anotherexpression;

B.

int foo =  baaa +
           veryveryveryloooooongexpression -
           shortexpression +
           anotherexpression;

另一方面,在添加字符串時,操作符只是用於繼續行,而String項對我來說更重要。 一行末尾的操作符給出了一個暗示,即下一行中會發生一些事情。 因此我想在字符串運算符之后使用換行:

B.

String message = "Would you like to use line wrapping at " + position +
                 " ? If you want to keep that behavior press Enter."

一種。

 String message = "Would you like to use line wrapping at " + position
                  +" ? If you want to keep that behavior press Enter."

相關文章:

(在某些情況下,當然可以更好地改進代碼並使用單行,使用String.format(...)或使用String Builder。這不是問題。)

如何在Eclipse中為兩種不同的情況應用不同的換行設置A.(在操作符之前)和B.(在操作符之后)(第一項是String與第一項是其他的東西)? 是否有一些我沒看到的默認設置? 是否有Eclipse插件可以這樣做?

(還有一些評論:

  • 編輯:以下注釋僅對Eclipse 4.4.2(Luna)有效,並已在Eclipse 4.5(Mars)中修復:

操作符(B.)在函數調用中包裝String參數時,我沒有得到包裝,即使我想在兩種情況下都應用它。 我為二進制表達式啟用了“Wrap before operator”選項並禁用了常規選項“Never join already wraded lines”。 然而,以下示例中的+運算符出現在下一行中。 我在https://bugs.eclipse.org/bugs/show_bug.cgi?id=466919下提交了一份錯誤報告。

    statusBuilder.append("This set is not yet present in the database!\n"
                    + "You can save it by hitting the 'Save' button below.\n");

  • 如果我在String的中間點擊Return,則eclipse會正確地在操作符之前或之后包裝該行,具體取決於二進制表達式的“Wrap before operator”設置。

  • checkstyle模塊Whitespace => Operator Wrap既不支持字符串連接的額外設置。

使用on / off標簽禁用特定代碼塊的Eclipse代碼格式化程序。 這會強制您自己格式化代碼,但它至少可以讓您完全控制代碼的外觀。

//@formatter:off
String message = "Would you like to use line wrapping at " + position +
                 " ? If you want to keep that behavior press Enter."
//@formatter:on

開/關功能必須打開“ON”。 在Eclipse首選項中:Java>代碼樣式>格式化程序。 單擊“編輯”按鈕,“關/開標簽”,勾選“啟用關/開標簽”

我剛剛找到另一個選項:在每行的末尾使用“+ //”:

String message = "Would you like to use line wrapping at " + position + //
             " ? If you want to keep that behavior press Enter."

此問題已針對4.11版本M1進行了修復。 另見

https://bugs.eclipse.org/bugs/show_bug.cgi?id=543079

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM