2016-06-01 1 views
2

У меня есть длинный оператор SQL с большим количеством строк, которые я хочу поместить в свой код Java как String. Могу ли я выполнить эту операцию автоматически с помощью IntelliJ IDEA? Если нет, есть ли другой простой способ?Преобразование текста с символами новой строки в строку Java в IntelliJ IDEA

Например, я хочу код

SELECT 
    * 
FROM 
    MyTable 

быть преобразованы в

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

В этом примере, почему вы хотите, чтобы добавить разрывы строк в запросе, который не нужен? Если вы присвойте свой запрос 'String' в IntelliJ и нажмите enter после определенного слова, среда IDE автоматически сломает строку в новую строку (без добавления' \ n'). –

+0

@Tim Biegeleisen: запрос написан в SQL-инструменте, поэтому он был скопирован и вставлен из инструмента в IntelliJ. Я хочу не нажимать Enter для каждой строки. – Gruber

ответ

1

Это Reall просто!

Просто создать себе блок кода, как это:

String sql = ""; 

Расположите курсор -inside- в двойных кавычках и просто вставить код SQL (содержащий переводы строк).

Результат будет выглядеть следующим образом:

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

Вы можете вводить языки в строку буквального, в этом случае SQL. Затем в строковом литерале вы можете редактировать его в специальном редакторе, который преобразует вход в допустимую строку Java (включая разрывы строк, которые вы упомянули). В вашем случае вы можете просто начать с пустой строки и отредактировать/заполнить ее, как описано.

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

Интересно. Однако я не могу заставить IntelliJ распознавать аннотацию '@Language()', несмотря на включение плагина IntelliLang. Я постараюсь усерднее. – Gruber

+0

Аннотации «просто» полезны, поэтому IntelliJ не забывает о языке, представленном в String. Если вам не нужно часто редактировать строку, вы можете просто ввести язык, когда это необходимо. PS: Я был бы признателен за «принятый ответ», если это применимо. –