Объемное пространство с кавычками
Как возможно в Eclipse JDT преобразовать многострочный выбор в String. Как показано ниже
From:
xxxx
yyyy
zzz
To:
"xxxx " +
"yyyy " +
"zzz"
Я попробовал следующий шаблон
"${line_selection}${cursor}"+
но таким образом я получаю только весь блок, окруженный не каждой строкой отдельно. Как я могу достичь многострочной обработки, например, комментируя выбранный блок?
Ответы
Ответ 1
Возможно, это не то, что вы имеете в виду, но...
Если я нахожусь в строке в 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
)
Ответ 2
Найти/Заменить с включенной опцией регулярного выражения. Найти:
^(.*)$
Заменить на:
"$1" +
Ну, последняя строка будет иметь избыток +
, вы должны удалить ее вручную.
Ответ 3
Я бы пошел с затмением Find/Replace в режиме regexp:
Сохраняет ровно любое пространство или вкладки, которые у вас есть до и после каждой строки, и будет окружать их необходимыми двойными кавычками. (последний '+' нужно удалить)
Ответ 4
Это может быть не совсем тот ответ, который вы ищете. Вы можете легко достичь того, что вы просите, используя редактор sed-потока. Это доступно во всех вариантах 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 и результат обратно в буфер обмена.
Наконец, если вы часто используете эту команду, имеет смысл разместить ее в файле оболочки script, чтобы вы могли легко запустить ее. Затем вы можете назначить ему ярлык для Eclipse.