2016-06-01 3 views
2

Ich habe eine lange SQL-Anweisung mit vielen Zeilenumbrüche, die ich in meinem Java-Code als String setzen möchte. Kann ich diesen Vorgang automatisch mit IntelliJ IDEA durchführen? Wenn nicht, gibt es einen anderen einfachen Weg?Konvertieren von Text mit Zeilenumbrüchen in Java String in IntelliJ IDEA

Zum Beispiel möchte ich den Code

SELECT 
    * 
FROM 
    MyTable 

in

"SELECT\n" + 
" *\n" + 
"FROM\n" + 
" MyTable" 
+0

In diesem Beispiel, warum sollen Sie Zeilenumbrüche zu Ihrer Anfrage hinzugefügt werden sollen, die nicht notwendig ist? Wenn Sie Ihre Abfrage in IntelliJ einer 'String' zuweisen und nach einem bestimmten Wort die Eingabetaste drücken, unterbricht die IDE automatisch die Zeichenfolge in eine neue Zeile (ohne' \ n' hinzuzufügen). –

+0

@Tim Biegeleisen: Die Abfrage wird in einem SQL-Tool geschrieben, also wurde sie aus dem Tool in IntelliJ kopiert und eingefügt. Ich möchte vermeiden, für jede Zeile die Eingabetaste zu drücken. – Gruber

Antwort

1

Dieses reall einfach!

Erstellen Sie einfach selbst einen Codeblock wie folgt aus:

String sql = ""; 

den Cursor -inside- der doppelten Anführungszeichen Situate und nur den SQL-Code einfügen (mit Zeilenumbrüchen).

Ergebnis wird so aussehen:

String sql = " SELECT\n" + 
     " *\n" + 
     " FROM\n" + 
     " MyTable"; 
2

Sie umgewandelt werden können Sprachen in einem Stringliteral, in diesem Fall SQL injizieren. Dann können Sie im String-Literal in einem speziellen Editor bearbeiten, der die Eingabe in eine gültige Java-Zeichenfolge konvertiert (einschließlich der von Ihnen erwähnten Zeilenumbrüche). In Ihrem Fall können Sie einfach mit einem leeren String beginnen und ihn wie beschrieben bearbeiten/füllen.

https://www.jetbrains.com/help/idea/2016.1/using-language-injections.html#d1023038e185

https://www.jetbrains.com/help/idea/2016.1/opening-language-injections-in-the-editor.html

+0

Interessant. Ich kann jedoch IntelliJ nicht dazu bringen, die Annotation @Language() zu erkennen, obwohl das IntelliLang-Plugin aktiviert wurde. Ich werde mich mehr bemühen. – Gruber

+0

Die Anmerkung ist "nur" hilfreich, damit IntelliJ die in der Zeichenfolge dargestellte Sprache nicht vergisst. Wenn Sie die Zeichenfolge nicht oft bearbeiten müssen, können Sie die Sprache bei Bedarf einfach einfügen. PS: Ich würde mich über eine "akzeptierte Antwort" freuen. –

Verwandte Themen