Март 10 2009
Сниппеты во Flex
Недавно для себя сделал небольшое открытие, что со сниппетами (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:
Недостатки тоже присутствуют:
- нету горячих клавиш. Вставлять шаблоны можно только с помощью клика мыши;
- при вставке шаблона не учитывает первоначальные табы, поэтому после вставки код приходится двигать.




“Ну и еще один недостаток – он не работает в mxml редакторе.”
Он работает в редакторе, нужно только уметь готовить
Есть рецепты?
Давай, Илья, колись что ли, хоть пару слов, в какую сторону смотреть
http://code.google.com/p/monkey-for-flex/wiki/KnowHow тут есть старая, не универсальная.
более новая версия универсальная версия
http://the33cows.com/mxml/2009/04/16/eclipse-monkey-and-flexbuilder-editors/
А только у меня плагин замещения кнопок от Ли (http://theflashblog.com/plugins/TheFlashBlog_1.0.0.zip) не работает? Или его тоже нужно уметь готовить?
Честно говоря я не пробовал пользоваться данным рецептом одной кнопки, т.к. функционал Snip Tree View мне не понравился. У меня для реализации подобного функционала используется Punto Switcher им мне пользоваться намного удобнее. О том какие удобства Punto Switcher предостовляет я писал здесь:
http://blog.diestro.ru/refaktoring-klaviatury/
Oгромное спасибо за пост!
Отсутствие во флексе таких стандартных эклипсовых плюшeк,
как “умные” темплейты и ренейм переменных в контексте –
всегда приводило меня в недоумение и огорчало.
Особенно на фоне FDT, это все смотрелось очень странно и недоработанно.