2010-01-29 35 views
204

不幸的是,Java沒有多行字符串文字的語法。如果IDE可以很容易與結構的工作就像在Eclipse中粘貼多行Java字符串

String x = "CREATE TABLE TEST (\n" 
      + "A INTEGER NOT NULL PRIMARY KEY, \n" 
      ... 

什麼是從剪貼板粘貼到Java源使用Eclipse多行字符串的最快方法(在某種程度上,它會自動像創建代碼沒問題以上)。

+0

[環繞與引號]的可能重複(HTTP:/ /stackoverflow.com/questions/121199/surround-with-quotation-marks) – 2012-08-21 12:54:56

回答

392

好的,我只是found the answer(在Stackoverflow上,不下)。粘貼到一個字符串時/

首選項/的Java /編輯/輸入「逃生文本:

Eclipse有一個選項,讓多行文本的副本粘貼到字符串文本將導致引用換行符「

+44

應該注意的是,啓用該功能後,您仍然必須先寫兩個引號,然後將這些文本粘貼到這些標記中。 – Lycha 2010-07-29 13:18:28

+53

那麼爲什麼在這個世界上不是默認啓用這個選項? – 2012-05-10 12:16:53

+0

對於NetBeans,有一個插件:http://plugins.netbeans.org/plugin/2748/?show=true – mjn 2013-05-15 08:00:51

-8

據我所知這似乎超出了IDE的範圍。 複製,您可以複製字符串,然後嘗試使用Ctrl + Shift + F 格式化大多數情況下,這些多行字符串不使用硬編碼,而是應該從屬性或xml文件使用,可以在以後編輯而不需要更改代碼

+2

不同意。這完全在IDE的範圍內。畢竟,您可以編輯一個字符串,並在其中間輸入enter,Eclipse將創建一個適當的Java多行字符串。 – Thilo 2010-01-29 04:03:18

+0

@Thilo 你的問題是將一個字符串複製到一個沒有按照IDE的格式的編輯器中,但是你仍然希望它自動爲你做這些安排!我認爲哪個IDE不在IDE中。 告訴我一件事你的要求究竟是什麼。爲什麼你要複製字符串?以便我們弄清楚問題。請編輯問題而不是評論 – Ravisha 2010-01-29 05:35:30

+2

我發現了很多用例,其中您想要直接使用大文本值在Java代碼中(例如,在單元測試中,您想嘗試一種輸入非常長的方法)。因此,您經常需要將大型多行字符串(例如生成的Lorem Ipsum文本)粘貼到Java程序中。似乎IDE在範圍內支持這樣的操作,而不強制用戶手動分解文本並用引號和+圍住每行。 – ammianus 2013-04-10 18:45:18

4

如果在像TOAD或其他面向SQL的IDE這樣的工具中構建SQL,它們通常會將剪貼板的複製標記添加到剪貼板中。例如,TOAD有一個CTRL + M,它可以在你的編輯器中使用SQL,並完成你上面代碼中的內容。它也涵蓋了相反的情況......當你從Java中抓取一個格式化的字符串並且想要在TOAD中執行它時。將SQL粘貼回TOAD並執行CTRL + P刪除多行引號。

+0

CNTL + M =編碼。在視圖> Toad選項中,您可以設置'代碼'的格式。例如Java就在那裏。 – checketts 2012-02-16 21:53:30

11

您可以使用此Eclipse插件:http://marketplace.eclipse.org/node/491839#.UIlr8ZDwCUm 這是一個多行字符串編輯器彈出窗口。將您插入符號在一個字符串按CTRL - 轉變 - ALT - 和粘貼文本。

+2

我在Juno中安裝了它,重新啓動但它什麼都沒做。組合不會執行任何操作,也不能在上下文菜單中找到項目:-( – 2013-06-20 20:03:45

2

參見:Multiple-line-syntax

它還支持變量在多行字符串,例如:

String name="zzg"; 
String lines = ""/**~!{ 
    SELECT * 
     FROM user 
     WHERE name="$name" 
}*/; 
System.out.println(lines); 

輸出:

SELECT * 
    FROM user 
    WHERE name="zzg"