Окружить кавычками - PullRequest
       10

Окружить кавычками

35 голосов
/ 23 сентября 2008

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

От:

xxxx
yyyy
zzz

Кому:

"xxxx " +
"yyyy " +
"zzz"

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

"${line_selection}${cursor}"+

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

Ответы [ 4 ]

88 голосов
/ 23 сентября 2008

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

Если я нахожусь на линии в 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)

4 голосов
/ 23 сентября 2008

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

^(.*)$

Заменить на:

"$1" +

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

3 голосов
/ 23 сентября 2008

Я бы пошел с поиском / заменой затмения в режиме регулярного выражения:

  • Найти:

    ^ ((?: \ S () \ S) ((?:??! \ S ([\ г \ п])) )

  • Заменить на

    \ 1 "\ 2" \ 3 +

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

2 голосов
/ 23 сентября 2008

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

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

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

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

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

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

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...