221 votes

Coller une chaîne de caractères Java de plusieurs lignes dans Eclipse

Malheureusement, Java n'a pas de syntaxe pour les chaînes de caractères de plusieurs lignes. Ce n'est pas un problème si l'IDE permet de travailler facilement avec des constructions telles que

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

Quel est le moyen le plus rapide de coller une chaîne de caractères de plusieurs lignes à partir du presse-papiers dans une source Java à l'aide d'Eclipse (de manière à créer automatiquement un code comme celui ci-dessus).

421voto

Thilo Points 108673

Ok, j'ai juste a trouvé la réponse (sur Stackoverflow, pas moins).

Eclipse dispose d'une option qui permet de copier-coller un texte de plusieurs lignes dans des littéraux de type String pour obtenir des nouvelles lignes entre guillemets :

Préférences/Java/Editor/Typing/ "Échapper le texte lors du collage dans une chaîne de caractères".

45 votes

Il convient de noter qu'après avoir activé cette fonctionnalité, vous devez toujours écrire deux guillemets, puis coller le texte à l'intérieur de ces guillemets.

0 votes

Pour NetBeans, il existe un plugin : plugins.netbeans.org/plugin/2748/?show=true

14 votes

@BobbyEickhoff parce que ce n'est pas idempotent (si ce mot a un sens ici). Par exemple, si vous avez une chaîne "asdf\"asdf" et que vous copiez et collez la partie du milieu, vous obtenez "asdf". \\\ "asdf". en fait, je pense que ce qu'eclipse devrait faire est d'avoir un nouveau raccourci ctrl+shift+v qui colle les échappées.

11voto

user1772710 Points 199

Vous pouvez utiliser ce plugin Eclipse : http://marketplace.eclipse.org/node/491839#.UIlr8ZDwCUm Il s'agit d'une fenêtre contextuelle d'édition de chaînes de caractères à plusieurs lignes. Placez votre curseur dans une chaîne littérale et appuyez sur ctrl - shift - alt - m et collez votre texte.

2 votes

J'ai installé cela dans Juno, j'ai redémarré mais cela ne fait rien. Le combo ne fait rien et je ne trouve pas non plus d'élément dans le menu contextuel :-(

4voto

Brian Points 7072

Si vous construisez ce SQL dans un outil comme TOAD ou un autre IDE orienté SQL, il est souvent possible de copier les balises dans le presse-papiers. Par exemple, TOAD a un CTRL+M qui prend le SQL dans votre éditeur et fait exactement ce que vous avez dans votre code ci-dessus. Cela couvre également l'inverse... lorsque vous saisissez une chaîne formatée dans votre Java et que vous voulez l'exécuter dans TOAD. Coller le SQL dans TOAD et effectuer un CTRL+P pour supprimer les guillemets multi-lignes.

0 votes

CNTL+M = Faire du code. Dans le menu View > Toad Options, vous pouvez définir le format du "code". Java par exemple est là.

3voto

zzg Points 31

Voir : Syntaxe à lignes multiples

Il prend également en charge les variables dans les chaînes de caractères multilignes, par exemple :

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

Sortie:

SELECT * 
    FROM user
    WHERE name="zzg"

0voto

Enyby Points 344

El EclipsePasteAsJavaString vous permet d'insérer du texte sous forme de chaîne Java par Ctrl + Shift + V.

Exemple

Coller comme d'habitude par Ctrl+V :

some text with tabs and new lines

Coller en tant que chaîne Java via Ctrl+Shift+V

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X