В кавычках

Как в Eclipse JDT можно преобразовать многострочное выделение в String. Как следующие

Из:

xxxx
yyyy
zzz

К:

"xxxx " +
"yyyy " +
"zzz"

Я попробовал следующий шаблон

"${line_selection}${cursor}"+

но таким образом я получаю только весь блок, а не каждую строку отдельно. Как я могу добиться многострочной обработки, такой как комментирование выбранного блока?

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
36
0
28 620
4

Ответы 4

Возможно, это не совсем тот ответ, который вы ищете. Вы можете легко добиться того, о чем просите, с помощью редактора потока sed. Это доступно во всех разновидностях Unix, а также в Windows, если загрузить такой набор инструментов, как Cygwin. В командной строке оболочки Unix выполните команду

sed 's/^/"/;s/$/"+/'

и вставьте текст, который хотите преобразовать. На его выходе вы получите преобразованный текст. Аргумент, переданный в sed, говорит, что нужно заменить начало строки (^) цитатой и заменить конец каждой строки ($) кавычкой и плюсом.

Если текст, который вы хотите преобразовать, большой, вы можете перенаправить ввод и вывод sed через файлы. В таком случае запустите что-то вроде

   sed 's/^/"/;s/$/"+/' <inputfile >outputfile

В Windows вы также можете использовать команду winclip из набора инструментов Перехитрить, чтобы напрямую изменять содержимое буфера обмена. Просто беги

winclip -p | sed 's/^/"/;s/$/"+/' | winclip -c

Приведенная выше команда вставит содержимое буфера обмена в sed, а результат - обратно в буфер обмена.

Наконец, если вы часто используете эту команду, имеет смысл поместить ее в файл сценария оболочки, чтобы вы могли легко ее запустить. Затем вы даже можете назначить ему сочетание клавиш Eclipse.

У меня есть смешное дополнение, которое, я думаю, вы могли бы оценить как седер. Вы можете избежать дополнительного + в последней строке с помощью sed 's/^/"/; s/$/"/; $! s/$/+/' --- $ означает Последняя линия, а $! означает не последняя строчка.

13ren 09.02.2010 13:58

Найти / заменить с включенной опцией регулярного выражения. Находить:

^(.*)$

Заменить:

"" +

Ну и в последней строчке будет лишний +, придется вручную удалить.

Может быть, вы не это имеете в виду, но ...

Если я нахожусь в строке в Eclipse и ввожу двойные кавычки, то внутри этой вставки многострочный выделенный фрагмент (как в вашем примере xyz) будет вставлен следующим образом:

"xxxx\n" +   
"yyyy\n" +  
"zzz"

Затем вы могли бы просто найти / заменить в выделенном фрагменте для "\n" на "", если вы не намеревались вводить новые строки.

Я думаю, что возможность включить это есть в Window/Preferences, в разделе Java/Editor/Typing/ установите флажок рядом с "Escape text when pasting into a string literal". (Eclipse 3.4 Ganymede)

Спасибо! К вашему сведению - мне также пришлось перезапустить Eclipse после изменения настроек.

gstroup 21.02.2014 20:50

Я бы пошел с помощью Find / Replace eclipse в режиме регулярного выражения:

  • Находить:

    ^ ((?: \ s (?) \ S?) ((?: \ S (?! [\ R \ n])))

  • Заменить

    \ 1 "\ 2" \ 3 +

Сохранит точно независимо от того, какие пробелы или табуляции у вас есть до и после каждой строки, и окружит их необходимыми двойными кавычками. (последний знак "+" необходимо удалить)

Другие вопросы по теме