2010-01-29 13 views
204

Niestety, Java nie ma żadnej składni dla wielowierszowych literałów łańcuchowych. Nie ma problemu, jeśli IDE ułatwia pracę z konstrukcjami jakWklej wieloliniowy ciąg Java w środowisku Eclipse

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

Co to najszybszy sposób, aby wkleić ciąg multi-liniowy ze schowka do źródła Java przy użyciu Eclipse (w taki sposób, że automatycznie tworzy kod jak powyższe).

+0

możliwe duplikat [Surround z cudzysłowie] (http://stackoverflow.com/questions/121199/surround-with-quotation-marks) –

Odpowiedz

392

Okay, ja tylko found the answer (na Stackoverflow, nie mniej).

Eclipse posiada opcję tak, że copy-paste tekstu wielowierszowego w napisowych spowoduje notowanych nowymi liniami:

Preferencje/Java/Edytor/Typing/„Ucieczka tekstu podczas wklejania do łańcucha dosłownym "

+44

Należy zauważyć, że po włączeniu funkcji należy najpierw napisać dwa cudzysłowy, a następnie wkleić tekst wewnątrz znaków. – Lycha

+53

Dlaczego więc na świecie ta opcja nie jest domyślnie włączona? –

+0

Dla NetBeans jest wtyczka: http://plugins.netbeans.org/plugin/2748/?show=true – mjn

-8

O ile mi wiadomo, wydaje się to poza zakresem IDE. Copyin, możesz skopiować ciąg, a następnie spróbuj go sformatować za pomocą ctrl + shift + F Najczęściej te ciągi wielowierszowe nie są używane na sztywno, raczej będą używane z plików właściwości lub xml. Które mogą być edytowane w późniejszym punkcie czas bez potrzeby zmiany kodu

+2

Nie zgadzam się. Jest to całkowicie w zakresie IDE. Przecież możesz edytować ciąg znaków i wpisać enter w środku, a Eclipse tworzy odpowiedni wielowierszowy łańcuch Java. – Thilo

+0

@Thilo ur pytanie było skopiować ciąg do edytora, który nie był w formacie, jak w IDE, ale nadal chcesz, aby automatycznie dokonać tych ustaleń dla Ciebie! Który wierzę jest poza perview IDE. Powiedz mi, co dokładnie jest wymaganiem ur. Dlaczego chcesz skopiować ciąg ?, aby uzyskać przejrzystość problemu. Daj pytanie edycji raczej – Ravisha

+2

Znalazłem wiele przypadków użycia, w których masz duże wartości tekstowe, które chcesz bezpośrednio użyć w kodzie Java (np. w teście jednostkowym, w którym chcesz wypróbować metodę z bardzo długim wprowadzaniem). Dlatego często trzeba wklejać duży, wielowierszowy ciąg, taki jak wygenerowany tekst Lorem Ipsum do programu Java.Wydaje się, że IDE jest w stanie obsłużyć taką operację bez zmuszania użytkownika do ręcznego rozbijania tekstu i otaczania każdej linii cudzysłowami i znakami +. – ammianus

4

Jeśli twój budynek SQL w narzędziu takim jak TOAD lub inny zorientowany na SQL IDE, często mają one znaczniki kopiowania do schowka. Na przykład TOAD ma CTRL + M, który pobiera kod SQL w edytorze i wykonuje dokładnie to, co masz w powyższym kodzie. Obejmuje to także odwrotne ... kiedy pobierasz sformatowany ciąg z twojej Javy i chcesz go wykonać w TOAD. Wklej SQL z powrotem do TOAD i wykonaj CTRL + P, aby usunąć cytaty wielowierszowe.

+0

CNTL + M = Utwórz kod. W opcji Widok> Opcje maty można ustawić, w jakim formacie znajduje się "kod". Na przykład istnieje Java. – checketts

11

można użyć tej Eclipse Plugin: http://marketplace.eclipse.org/node/491839#.UIlr8ZDwCUm jest to multi-line edytor ciąg podręczne. Umieść daszka w ciąg dosłowne prasowej ctrl - przesunięcie - alt - m i wklej tekst.

+2

Zainstalowałem to w Juno, ponownie uruchomiłem, ale nic nie robi. Kombinacja nic nie robi i nie mogę znaleźć elementu w menu kontekstowym :-( –

2

Patrz: Multiple-line-syntax

również wspierać zmienne w wielowierszowego łańcucha, na przykład:

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

wyjściowa:

SELECT * 
    FROM user 
    WHERE name="zzg" 
Powiązane problemy