<rmcreative>

RSS

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

  1. №3364
    Andriy Bazanov
    Andriy Bazanov 13 нояб. 2010 г., 4:29:09

    Как ни как сам Zen Coding это поддерживает (даже упоминается в обучающем видео). А вот как сделать с его помощью что бы из

    line1
    line2

    сделать например такое:

    <div class="line1"></div>
    <div class="line2"></div>

    Кроме как ручками или через Live Templates ничего в голову не приходит (P.S. по Zen Coding-у я не спец)

  2. №3365
    Николай
    Николай 13 нояб. 2010 г., 12:35:49

    Andriy Bazanov

    1. Выделяем строки.
    2. Жмём хоткей для Wrap with Abbreviation.
    3. Вводим div.line$*

    В Aptana Studio работает на ура.

  3. №3366
    Денис Боровиков
    Денис Боровиков 13 нояб. 2010 г., 12:41:41

    Николай прав, в WebStrom/PHPStorm это тоже работает. И конечно можно опустить тег div: .line$*

    Но мне кажется, что Andriy Bazanov имел ввиду совсем другое:

    Из

    somestr
    anotherstr
    stragain
    

    получить таким образом не получится

    <div class="somestr"></div>
    <div class="anotherstr"></div>
    <div class="stragain"></div>
  4. №3367
    Денис Боровиков
    Денис Боровиков 13 нояб. 2010 г., 12:42:51

    Парсер все съел, но я имел ввиду что line1,line2 и т.д. это не одна и та же строка со счетчиком - а совершенно разные строки.

  5. №3368
    Andriy Bazanov
    Andriy Bazanov 13 нояб. 2010 г., 13:34:58

    Денис Боровиков

    Да, именно это (просто плохой пример привел). Текст в строках абсолютно разный, например:

    button_back
    button_next
    button_cancel

    превратить в (теги чисто для примера -- главное куда вставляется текст):

    <span class="button_back"></span>
    <span class="button_next"></span>
    <span class="button_cancel"></span>
  6. №3372
    Сергей
    Сергей 14 нояб. 2010 г., 0:01:00

    Справедливости ради хочу заметить что это возможно также и в редакторе sublime text. Только реализуется это в виде редактирования каждой отдельно взятой строки при помощи комбинаций ctrl+shift+l и ctrl+alt+enter.

  7. №3373
    Sam
    Sam 14 нояб. 2010 г., 0:19:54

    Отдельно взятые — это совсем не то. Особенно если их сотни.

  8. №3432
    Сергей
    Сергей 21 нояб. 2010 г., 0:51:36

    Sam, вы меня не правильно понимаете (или я неясно объяснил). Я не редактирую строку за строкой. В sublime я могу выделить абзац, нажать ctrl+shift+l - тогда курсор встанет в конец каждой строки (т.е. получается мульти-редактирование) — дальше уж очень просто все их обернуть. На сотню строк времени уходит не больше чем на одну.

  9. №3434
    Sam
    Sam 21 нояб. 2010 г., 13:02:16

    А, ясно. Просто мультиредактирование не очень типично, я не сразу понял.

  10. №3435
    Сергей
    Сергей 21 нояб. 2010 г., 20:08:42

    Заметил маленькую ошибку с уведомлениями о новых комментариях на почту. Ссылка приходит как 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".

  11. №3436
    Sam
    Sam 22 нояб. 2010 г., 0:19:01

    Спасибо. Сейчас должно быть получше.

  12. №4723
    Max
    Max 24 мая 2011 г., 1:04:30

    По CTRL+ALT+T, X портит форматирование. Может кто подскажет как же в итоге сделать нормально wrapping with abbreviation?

  13. №7608
    porcelanosa
    porcelanosa 26 февр. 2013 г., 4:07:09

    форматирование можно поправить shift+alt+f А вот где настроить хоткей для wrap with abbrevation - в списке не нашла. Да и другие хоткеи для zencoding(emmet)

  14. №7609
    porcelanosa
    porcelanosa 26 февр. 2013 г., 4:30:03

    Половины функций представленных в Emmet не могу найти как работает в phpstorm

  15. №7610
    Andriy Bazanov
    Andriy Bazanov 26 февр. 2013 г., 5:11:51

    В главном тиките написано что поддерживается: youtrack.jetbrains.com/issue/WEB-193

    Также можно посмотреть отдельные нюансы/недоработки: youtrack.jetbrains.com/issues/WEB?q=emmet

  16. №7621
    porcelanosa
    porcelanosa 26 февр. 2013 г., 14:52:37

    по ссылкам, самое простое, например: p10 -> padding:10px в ps-126.260 не работает ни в css файлах, ни в php, ни в less

  17. №7622
    porcelanosa
    porcelanosa 26 февр. 2013 г., 14:55:09

    извините - оказывается только с 309 версии работает

  18. №7636
    porcelanosa
    porcelanosa 27 февр. 2013 г., 14:49:23

    Если в коде попадается smarty - то при нажатии crtl+alt+T не появляется X - т.е. zencoding нельзя использовать.

  19. №11532
    Alex
    Alex 14 авг. 2019 г., 10:44:43

    Мультиредактирование в PHPSTORM тоже есть, зажимаем колесо мыши и выделяем нужные строки, можно окном вырезать что-то, если вести за пределами окончания строк, то независимо от количество символов курсор ставится в каждой строке в конце.

    Если вернуться к вопросу как из button_back button_next button_cancel

    делать вот это

    То с учетом мультиредактирования: 1 Ставим курсор вначеле каждой строки и добавляем <span class=" <span class=" <span class=" На самом деле при мультиредактировании пишем только один раз <span class=", а позиция вставляется во все выделенные места

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

    Ну и заканчиваем пример "> "> ">

    Работает на разное количество строк, можно и 20 и 300

  1. Почта опубликована не будет.

  2. Можно использовать синтаксис Markdown или HTML.

  3. Введите ответ в поле. Щёлкните, чтобы получить другую задачу.