PhpStorm и ZenCoding: обрамление строк в теги
13 ноября 2010
В твиттере PhpStorm проскочила очень полезная информация по использованию встроенного в IDE ZenCoding.
Итак, надо из
line1
line2
line3
получить
<li>line1</li> <li>line2</li> <li>line3</li>
- Выделяем все строки.
- Жмём
CTRL+ALT+T
,X
. - Вводим
li*
.
Также можно попробовать немного посложнее: li*>a[href=]*
.
Комментарии RSS по email OK
Как ни как сам Zen Coding это поддерживает (даже упоминается в обучающем видео). А вот как сделать с его помощью что бы из
line1 line2
сделать например такое:
Кроме как ручками или через Live Templates ничего в голову не приходит (P.S. по Zen Coding-у я не спец)
Andriy Bazanov
Wrap with Abbreviation
.div.line$*
В Aptana Studio работает на ура.
Николай прав, в WebStrom/PHPStorm это тоже работает. И конечно можно опустить тег div: .line$*
Но мне кажется, что Andriy Bazanov имел ввиду совсем другое:
Из
получить таким образом не получится
Парсер все съел, но я имел ввиду что line1,line2 и т.д. это не одна и та же строка со счетчиком - а совершенно разные строки.
Денис Боровиков
Да, именно это (просто плохой пример привел). Текст в строках абсолютно разный, например:
button_back button_next button_cancel
превратить в (теги чисто для примера -- главное куда вставляется текст):
Справедливости ради хочу заметить что это возможно также и в редакторе sublime text. Только реализуется это в виде редактирования каждой отдельно взятой строки при помощи комбинаций ctrl+shift+l и ctrl+alt+enter.
Отдельно взятые — это совсем не то. Особенно если их сотни.
Sam, вы меня не правильно понимаете (или я неясно объяснил). Я не редактирую строку за строкой. В sublime я могу выделить абзац, нажать ctrl+shift+l - тогда курсор встанет в конец каждой строки (т.е. получается мульти-редактирование) — дальше уж очень просто все их обернуть. На сотню строк времени уходит не больше чем на одну.
А, ясно. Просто мультиредактирование не очень типично, я не сразу понял.
Заметил маленькую ошибку с уведомлениями о новых комментариях на почту. Ссылка приходит как http://rmcreative.ru/blog/post/phpstorm-i-zencoding:-obramlenie-strok-v-tegi#3434 а не как нужно http://rmcreative.ru/blog/post/phpstorm-i-zencoding%3A-obramlenie-strok-v-tegi#c3434, т.е. теряется "c".
Спасибо. Сейчас должно быть получше.
По CTRL+ALT+T, X портит форматирование. Может кто подскажет как же в итоге сделать нормально wrapping with abbreviation?
форматирование можно поправить shift+alt+f А вот где настроить хоткей для wrap with abbrevation - в списке не нашла. Да и другие хоткеи для zencoding(emmet)
Половины функций представленных в Emmet не могу найти как работает в phpstorm
В главном тиките написано что поддерживается: youtrack.jetbrains.com/issue/WEB-193
Также можно посмотреть отдельные нюансы/недоработки: youtrack.jetbrains.com/issues/WEB?q=emmet
по ссылкам, самое простое, например: p10 -> padding:10px в ps-126.260 не работает ни в css файлах, ни в php, ни в less
извините - оказывается только с 309 версии работает
Если в коде попадается smarty - то при нажатии crtl+alt+T не появляется X - т.е. zencoding нельзя использовать.
Мультиредактирование в PHPSTORM тоже есть, зажимаем колесо мыши и выделяем нужные строки, можно окном вырезать что-то, если вести за пределами окончания строк, то независимо от количество символов курсор ставится в каждой строке в конце.
Если вернуться к вопросу как из button_back button_next button_cancel
делать вот это
То с учетом мультиредактирования: 1 Ставим курсор вначеле каждой строки и добавляем <span class=" <span class=" <span class=" На самом деле при мультиредактировании пишем только один раз <span class=", а позиция вставляется во все выделенные места
тоже самое с окончанием, но нужно выделение делать за пределами конца строк, тогда курсор будет ставиться в каждую строку вне зависимости от количества символов.
Ну и заканчиваем пример "> "> ">
Работает на разное количество строк, можно и 20 и 300