2011-06-20 79 views
24

我正在使用Intellij IDEA 10.5社區。 如果我有一個很長的字符串,並要分割在多張行我按在一個字符串中間的確認鍵,並得到這個:Intellij IDEA加號當字符串換行

String str = "ONE LONG" + 
      "STRING"; 

是否possble把+號在該行的開頭,像這樣:

String str = "ONE LONG" 
      + "STRING"; 
+0

LOL,原諒offtopic,但爲什麼你有休息後加​​符號? – sandalone

+1

@sandalone我需要這樣做,因爲在我目前的工作中,所有的代碼都是用Sonar進行檢查的,其中一個令人討厭的規則要求加號在新行中,而不是在前一行的結尾處... –

+2

您可能發現它令人討厭,但我發現它使代碼更具可讀性。我可以看到該行的開頭,並立即知道它是最後一行的延續(即使最後一行的結尾是在屏幕外)。 – Lambart

回答

39

設置|代碼樣式|包裝和揹帶,下的二進制表示組啓用下一行操作跡象:

Operation sign on next line

+2

這在IntelliJ 11中不適用於我。 –

+0

@KimballRobinson,在http://youtrack.jetbrains.net/issues/IDEA上提供一個錯誤,其中示例文件和您的代碼樣式使用File |導出設置。 – CrazyCoder

+2

謝謝。在主題12中記錄爲http://youtrack.jetbrains.net/issue/IDEA-80495 –

0

您應該檢查的IntelliJ IDEA的選項代碼格式部分,如果可能的話,應該在那裏。

+0

是否做到了。沒有發現任何類似的東西。 – kovica

13

在的IntelliJ 15這個設置是

Editor > Code Style Java > Wrapping and Braces (tab) > Binary Expressions (group) > enable Operation sign on next line (check box)

1

下,如果有人使用Android Studio:

Android Studio>設置編輯>代碼風格> Java

單擊選項卡上的「Wrapping and Braces」,然後找到「Binary expressions」組。 有你有勾選「運行的牌子下一行」

4

在2016.3只是幫我:

而在編輯器中,點擊菜單上的:代碼 - > generate-> tostring->設置 - >模板標籤 - >複製「字符串concat(+)」,這將允許你編輯一個新的模板。

然後在模板粘貼:

public java.lang.String toString() { 
#if ($members.size() > 0) 
#set ($i = 0) 
    return "$classname{" 
#foreach($member in $members) 
#if ($i == 0) 
    + " ## 
#else 
    + ", ## 
#end 
#if ($member.objectArray) 
#if ($java_version < 5) 
$member.name=" + ($member.accessor == null ? null : java.util.Arrays.asList($member.accessor)) + 
#else 
$member.name=" + java.util.Arrays.toString($member.accessor) 
#end 
#elseif ($member.primitiveArray && $java_version >= 5) 
$member.name=" + java.util.Arrays.toString($member.accessor) 
#elseif ($member.string) 
$member.name='" + $member.accessor + '\'' 
#else 
$member.name=" + $member.accessor 
#end 
#set ($i = $i + 1) 
#end 
    + '}'; 
#else 
    return "$classname{}"; 
#end 
}