Pegar una cadena Java multilínea en Eclipse


Desafortunadamente, Java no tiene sintaxis para literales de cadena multilínea. No hay problema si el IDE facilita el trabajo con construcciones como

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

¿Cuál es la forma más rápida de pegar una cadena multilínea desde el portapapeles en el código fuente Java usando Eclipse (de manera que automáticamente crea código como el anterior).

Author: Roman C, 2010-01-29

6 answers

Bien, solo encontré la respuesta (en Stackoverflow, nada menos).

Eclipse tiene una opción para que copiar y pegar texto de varias líneas en literales de cadena resulte en nuevas líneas entrecomilladas:

Preferences / Java / Editor / Typing / "Escape text when pasting into a string literal"

 404
Author: Thilo,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 12:18:26

Puedes usar este plugin para Eclipse: http://marketplace.eclipse.org/node/491839#.UIlr8ZDwCUm Esta es una ventana emergente de editor de cadenas de varias líneas. Coloque su cursor en un literal de cadena pulse ctrl-cambio-alt-m y pegue el texto.

 11
Author: user1772710,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-10-25 17:07:12

Si construye ese SQL en una herramienta como TOAD u otro IDE orientado a SQL, a menudo tienen un marcado de copia en el portapapeles. Por ejemplo, TOAD tiene CTRL + M que toma el SQL en su editor y hace exactamente lo que tiene en su código anterior. También cubre el reverso... cuando su agarrar una cadena formateada de su Java y desea ejecutarlo en TOAD. Pegar el SQL de nuevo en TOAD y realizar un CTRL + P para eliminar las comillas de varias líneas.

 4
Author: Brian,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-01-29 15:59:16

Ver: Sintaxis de líneas múltiples

También soporta variables en cadena multilínea, por ejemplo:

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

Salida:

SELECT * 
    FROM user
    WHERE name="zzg"
 2
Author: zzg,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-03-24 02:55:28

El complemento EclipsePasteAsJavaString le permite insertar texto como una cadena Java mediante Ctrl + Shift + V

Ejemplo

Pegar como de costumbre a través de Ctrl+V:

some text with tabs and new lines

Pegar como cadena Java mediante Ctrl + Shift + V

"some text\twith tabs\r\n" + "and new \r\n" + "lines"

 0
Author: Enyby,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-05-02 14:12:20

Hasta donde yo sé esto parece fuera del alcance de un IDE. Copyin, puede copiar la cadena y luego tratar de formatearla usando ctrl + shift + F En la mayoría de los casos,estas cadenas multilínea no se utilizan codificadas de forma rígida, sino que se utilizan desde archivos de propiedad o xml.que se puede editar en un momento posterior sin necesidad de cambiar el código

 -9
Author: Ravisha,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-01-29 03:55:11