Март 10 2009

Сниппеты во Flex

Рубрика: Flex BuilderDiestro @ 16:50

Недавно для себя сделал небольшое открытие, что со сниппетами (Snippets), называемых еще шаблонами кода,  во Flex оказывается все не совсем так и плохо.

Lee Brimelow в одном из своих постов о том как сделать Flex удобнее рассказал как минимум о трёх вариантах подключения сниппетов.

Eclipse Monkey
О том что это за зверь, и как использовать Eclipse Monkey для сниппетов в частности, было написано здесь. И даже существует русскоязычный проект на GoogleCode, в котором предлагается складывать скрипты для Eclipse Monkey.

На этом видео, кстати, можно посмотреть насколько эффектно и эффективно можно  кодить, используя Eclipse Monkey.

Все в Eclipse Monkey хорошо и возможности (выходящие далеко за рамки создания сниппетов)  и большое количество уже готовых скриптов для него. Не хорошо только то, что для того чтобы реализовать что-то новое под Eclipse Monkey нужно кодить. На что может не хватать ни времени, ни желания. Ну и еще один недостаток – он не работает в mxml редакторе.

Snip Tree View
Данная панелька присутствует в плагине CFEclipse.  И позволяет используя заданную горячую клавишу превращать определенную последовательность символов в нужный разработчику кусок кода.

Устанавливается плагин CFEclipse через Help > Software Updates >Findand install… с сайта http://www.cfeclipse.org/update . Для того чтобы воспользоваться панелькой нужно зайти  Window > Other Views… Затем найти Snap Tree View в ветке CFML.
Горячую клавишу можно назначить зайдя в Windows > Prefernces… А далее как показано на рисунке:

Недостатков было найдено достаточно много:

  • для работы плагина обязательно должна быть видна панель плагина с кнопками,  коих очень много:   Частично проблема решается замещением всех этих кнопок одной вот этой путем копирования содержимого архива в папку plugins. Остальные кнопки нужно убрать ручками через Customize Perspective…;
  • не работает в mxml редакторе;
  • функционал очень сильно ограничен. Можно задать только текст вставляемый ДО и ПОСЛЕ курсора.

WST Snippets Panel
Позволяет создать сложные шаблоны кода на основе указания необходимых переменных в появляющемся диалоговом окне.

Установить можно весь пакет Web Standart Tools, в состав которого входит эта панелька, через Help > Software Updates >Findand install…, далее выбрать Web Tools Platform (WTP) Updates, затем через Europa Discovery Site найти и поставить пакет WST и все от чего он зависит.  А можно сделать проще – просто кинуть в папку plugins этот файлик.

После установки панель можно найти в Window > Other Views…, далее General > Snippets
Создавать шаблоны кода в этой панели несложно. На рисунке показан созданный мною шаблон кода для генерации геттеров и сеттеров:

Теперь для того чтобы вставить шаблон в код необходимо дважды кликнуть по необходимому шаблону в панели Snippets и в появившемся окне указать PROPERTY_NAME и PROPERTY_TYPE:

Недостатки тоже присутствуют:

  • нету горячих клавиш. Вставлять шаблоны можно только с помощью клика мыши;
  • при вставке шаблона не учитывает  первоначальные табы, поэтому после вставки код приходится двигать.

7 комментариев »

  1. Комментарий от ilja.panin — 14 апреля 2009 @ 10:12

    “Ну и еще один недостаток – он не работает в mxml редакторе.”

    Он работает в редакторе, нужно только уметь готовить

  2. Комментарий от Diestro — 14 апреля 2009 @ 10:18

    Есть рецепты?

  3. Комментарий от Рост — 15 апреля 2009 @ 20:46

    Давай, Илья, колись что ли, хоть пару слов, в какую сторону смотреть :)

  4. Комментарий от ilja.panin — 16 апреля 2009 @ 10:41

    http://code.google.com/p/monkey-for-flex/wiki/KnowHow тут есть старая, не универсальная.
    более новая версия универсальная версия
    http://the33cows.com/mxml/2009/04/16/eclipse-monkey-and-flexbuilder-editors/

  5. Комментарий от petro — 16 апреля 2009 @ 11:43

    А только у меня плагин замещения кнопок от Ли (http://theflashblog.com/plugins/TheFlashBlog_1.0.0.zip) не работает? Или его тоже нужно уметь готовить?

  6. Комментарий от Diestro — 17 апреля 2009 @ 9:24

    Честно говоря я не пробовал пользоваться данным рецептом одной кнопки, т.к. функционал Snip Tree View мне не понравился. У меня для реализации подобного функционала используется Punto Switcher им мне пользоваться намного удобнее. О том какие удобства Punto Switcher предостовляет я писал здесь:
    http://blog.diestro.ru/refaktoring-klaviatury/

  7. Комментарий от peko — 14 мая 2009 @ 4:09

    Oгромное спасибо за пост!

    Отсутствие во флексе таких стандартных эклипсовых плюшeк,
    как “умные” темплейты и ренейм переменных в контексте –
    всегда приводило меня в недоумение и огорчало.

    Особенно на фоне FDT, это все смотрелось очень странно и недоработанно.

RSS лента комментариев к этой записи. TrackBack URL

Оставить комментарий

Comment Spam Protection by WP-SpamFree