2010-01-29 36 views
204

Thật không may, Java không có cú pháp cho các chuỗi ký tự nhiều dòng. Không có vấn đề nếu IDE giúp bạn dễ dàng làm việc với cấu trúc nhưDán một chuỗi Java nhiều dòng trong Eclipse

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

cách nhanh nhất để dán một String nhiều dòng từ clipboard vào nguồn Java sử dụng Eclipse là gì (trong một cách mà nó sẽ tự động tạo mã như thế ở trên).

+0

thể trùng lặp của [Surround với dấu ngoặc kép] (http://stackoverflow.com/questions/121199/surround-with-quotation-marks) –

Trả lời

392

OK, tôi chỉ found the answer (trên Stackoverflow, không kém).

Eclipse có một tùy chọn để copy-paste văn bản nhiều dòng vào literals chuỗi sẽ dẫn đến dòng mới niêm yết:

Preferences/Java/Biên tập viên/Gõ/"Escape văn bản khi dán vào một chuỗi chữ "

+44

Cần lưu ý rằng sau khi bật tính năng bạn vẫn phải viết hai dấu ngoặc kép trước rồi dán văn bản vào các dấu đó. – Lycha

+53

Vậy tại sao trên thế giới không bật tùy chọn này theo mặc định? –

+0

Đối với NetBeans có một plugin: http://plugins.netbeans.org/plugin/2748/?show=true – mjn

-8

Theo tôi biết điều này có vẻ nằm ngoài phạm vi của IDE. Copyin, bạn có thể sao chép chuỗi và sau đó cố gắng định dạng nó bằng cách sử dụng ctrl + shift + F Thông thường, các chuỗi đa dòng này không được sử dụng mã hóa cứng, thay vào đó chúng sẽ được sử dụng từ các tệp thuộc tính hoặc xml. thời gian mà không cần thay đổi mã

+2

Không đồng ý. Điều này hoàn toàn nằm trong phạm vi của một IDE. Sau khi tất cả, bạn có thể chỉnh sửa một String, và gõ enter ở giữa nó và Eclipse tạo ra một chuỗi đa dòng Java thích hợp. – Thilo

+0

@Thilo câu hỏi ur là sao chép một chuỗi vào một trình soạn thảo không có định dạng theo IDE, nhưng bạn vẫn muốn nó tự động sắp xếp cho bạn! Hãy cho tôi biết một điều chính xác là yêu cầu ur. Tại sao bạn muốn sao chép chuỗi? Để chúng tôi hiểu rõ vấn đề. Xin chỉnh sửa câu hỏi thay vì nhận xét – Ravisha

+2

Tôi đã tìm thấy rất nhiều trường hợp sử dụng mà bạn có giá trị văn bản lớn mà bạn muốn sử dụng trực tiếp trong mã Java (ví dụ: trong một thử nghiệm đơn vị nơi bạn muốn thử một phương thức có đầu vào rất dài). Vì vậy, bạn thường sẽ cần phải dán một chuỗi lớn, nhiều dòng như một văn bản Lorem Ipsum được tạo ra vào chương trình Java.Nó có vẻ là trong phạm vi cho IDE để hỗ trợ một hoạt động như vậy mà không buộc người dùng phải tự phá vỡ văn bản và bao quanh mỗi dòng với dấu ngoặc kép và +. – ammianus

4

Nếu tòa nhà của bạn có SQL trong một công cụ như TOAD hoặc IDE hướng SQL khác, chúng thường có đánh dấu sao chép vào khay nhớ tạm. Ví dụ, TOAD có CTRL + M để lấy SQL trong trình soạn thảo của bạn và thực hiện chính xác những gì bạn có trong mã của mình ở trên. Nó cũng bao gồm ngược lại ... khi bạn lấy một chuỗi định dạng ra khỏi Java của bạn và muốn thực hiện nó trong TOAD. Dán lại SQL vào TOAD và thực hiện CTRL + P để xóa dấu ngoặc kép nhiều dòng.

+0

CNTL + M = Tạo mã. Trong View> Toad Options bạn có thể thiết lập định dạng 'code'. Ví dụ Java có ở đó. – checketts

11

Bạn có thể sử dụng Plugin Eclipse này: http://marketplace.eclipse.org/node/491839#.UIlr8ZDwCUm Đây là trình chỉnh sửa chuỗi nhiều dòng. Đặt dấu mũ của bạn trong một báo cáo theo chuỗi ký tự ctrl - shift - alt - m và dán văn bản của bạn.

+2

Tôi đã cài đặt ứng dụng này ở Juno, đã khởi động lại nhưng không có gì. Các combo không làm bất cứ điều gì và tôi không thể tìm thấy một mục trong menu ngữ cảnh :-( –

2

Xem: Multiple-line-syntax

Nó cũng hỗ trợ các biến trong chuỗi multiline, ví dụ:

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

Output:

SELECT * 
    FROM user 
    WHERE name="zzg" 
Các vấn đề liên quan