Показаны сообщения с ярлыком FlashDevelop. Показать все сообщения
Показаны сообщения с ярлыком FlashDevelop. Показать все сообщения

пятница, мая 16, 2008

Из Flex Builder во FlashDevelop

Судьба распорядилась так, что временно приходится перебросить разработку Flex-проекта с Flex Builder на FlashDevelop. Заодно проверить, как последний с этим справится.

Установил последнюю версию FlashDevelop 3.0.0 Beta7. Теперь в пустом окне "Project" есть очень заманчивая кнопка "Import a Flex project", которой я немедленно и воспользовался. FD быстренько подхватил папку Flex-проекта и поместил в нее свой файл *.as3proj. Теперь можно спокойно работать как с обычным FD-проектом.

Первая нехорошая особенность - кодировка файлов, созданных FB распознается не правильно, и приходится постоянно корректировать кодировку файлов.

При компиляции проекта, получаем ексцепшн: "Error: null java.lang.NullPointerException...
Build halted with errors (mxmlc)"
. Хорошенькое дело. Ищем причину. Аналогичная ошибка имеет место не только у меня одного. Причина кроется в какой-то ошибке при внедрении шрифта. Как только я убрал

@font-face {
font-family: localArial;
font-weight: normal;
src: local("Arial");
...
}

Ошибка пропала, но такой вариант совсем негодится. Жаль, но на этом прийдется остановиться, пока не узнаю, как побороть этот недостаток...

понедельник, октября 08, 2007

Странное с отладкой в FD3

Перестал работать trace(). Не штатный дебагер, не FDTracer ничего не выдавали.
Долго пытался понять в чем дело - в итоге чисто интуитивно зашел в папку и запустил файл: "C:\Program Files\Adobe\Adobe Flash CS3\Players\Debug\FlashPlayer.exe"

После этого, сразу trace() снова стал работать.

На другом компьютере такой фокус не прошел. Да и не удивительно. Возможно причина в том, что на первом была установлена Debug-версия плеера вместе с Flex Builder. На втором же Flex не ставился. На первом что-то перенастроилось и Debug-плеер стал недоступен, но после его принудительного запуска все восстановилось. Но это всё догадки.

В итоге, есть простое универсальное решение. Зайти в настройки Installed Plugins > FlashViewer > ExternalPlayerPath и прописать "C:\Program Files\Adobe\Adobe Flash CS3\Players\Debug\FlashPlayer.exe".
Для того, чтобы открывалась именно Debug-версия в настройках проекта необходимо указать в Test movie > Open SWF in: External.
При таком выборе открывается нормальное окно флэш-плеера и создается сессия отладчика. При этом трейс выводится и в Output и в окно FDTracer.

FlashDevelop3. Ошибка плагина ASClassWizard

При установке плагина ASClassWizard перестает работать преобразование служебных переменных типа $(ItmTypPkg), $(ItmTypName), $(ItmName).

Прийдется обойтись без него... На официальном сайте про это были сообщения. Ждем новой версии.
Кстати, вернуть обратно шаблоны можно из "C:\Program Files\FlashDevelop\FirstRun\Templates\ProjectFiles\". Слава Богу, при инсталляции сюда тоже кладутся все необходимые программе файлы, что позволяет легко откатываться после неудачных модификаций конфигурации.

Flashdevelop. Tasklist Plugin

Хоть и написали в описании, что этот плагин будет внедрен в FD3. И все же решил его добавить. Скачали, поставили. Появилась панель. В настройках устанавливаем:
  • типы файлов проекта, которые необходимо просматривать,
  • ключевые слова, по которым будут искаться сообщения,
  • номера иконок, которые будут будут соответствовать этим ключевым словам.
Теперь в тексте, пишем ключевое слово и через некоторое время оно вместе с текстом, который за ним следует появляется в панели.

Насчет иконок - в папке "C:\Documents and Settings\ЮЗЕР\Local Settings\Application Data\FlashDevelop\Settings" лежит файл Images.png, который показывает соответствие иконок номерам.

Flashdevelop. Layout-manager. Layouts

Сохраняет расположение окон на экране.

пятница, сентября 28, 2007

Переустановка FlashDevelop 3 beta 3

При перестановке, вся директория с настройками, плагинами и т.д. удаляется. Поэтому, лучше все важные файлы сохранить в другое место.

среда, сентября 26, 2007

Установка плагинов для FD продолжается

Плагин BookmarkPanel: Копируем в папку с плагинами. Запускаем FD. Новая панель в котторой отображаются текущие закладки. Всего-то.

Плагин AsClassWizard: Копируем, запускаем FD. Никаких видимых изменений. В настройках плагина тоже ничего нет. Создаем новый класс из окна проекта Add->New class. Получаем окно с настройками создаваемого класса. Да, перед этим нужно заменить шаблоны из папки "C:\Documents and Settings\racer\Local Settings\Application Data\FlashDevelop\Templates\ProjectFiles" на новые, которые прилагаются к плагину.

Плагин SourceOptions: Копируем, запускаем FD. В контекстном меню появилось подменю, позволяющее:
  • Копировать имя текущего файла в буфер.
  • Организовывать импорты (не понял пока).
  • Создавать установщики для переменной, на которой стоит курсор.
  • Создавать методы доступа к переменной, на которой стоит курсор.

Плагин StickiesNotes: Копируем, запускаем FD. При запуске - ошибка. В меню "View" появился новое подменю Stikies. Здесь можно добавить стикеры с заметками. Не очень удобная штука и с ошибкой - удаляю.

Плагин RegularExpressionPanel: Многообещающее название. Копируем, запускаем FD. Отличная вещь!
В меню View появился пункт Regular Expression Toolkit. Пока не совсем понял как работает, но вижу что генерит AS-код, основанный на заданном паттерне.

Плагин SharedObjectReader: Копируем, запускаем FD. В меню Tools -> Flash Tools появился пункт Shared Object Reader, который показывает текущие Shared Object-ы. С этим предстоит еще разобраться.

Настройка нормального хелпа под FlashDevelop IV

Код прилагается: здесь.

В процессе изучения выяснилось, что приложение с параметрами из FlashDevelop запускается следующим образом: "app.exe;param1 param2 param3".

В настройках тулбара я прописал строку:
<button label="Help" tag="C:\Program Files\FlashDevelop\AsLocalDocs\ASLocalDocs.exe;pckg=$(ItmTypPkg) clss=$(ItmTypName) item=$(ItmName) kind=$(ItmKind)" image="229" click="RunProcess"/>

и на F1 в настройках плагина прописал строку:
C:\Program Files\FlashDevelop\AsLocalDocs\ASLocalDocs.exe;pckg=$(ItmTypPkg) clss=$(ItmTypName) item=$(ItmName) kind=$(ItmKind)

Осталось добиться, чтобы приложение ASLocalDocs.exe запускалось в одном экземпляре.
Еще - надо избежать ошибок, если не найден html-файл.
Кроме того, сам плагин дает сбой, либо не реагирует при вызове не классов.

вторник, сентября 25, 2007

Настройка нормального хелпа под FlashDevelop III

Добрейшие люди подсказали хорошую ссылку на плагины к FD3, в том числе на FlashAPI.
Теперь настраиваем хелп!
Облом... Скопировал dll в папку плагинов. Никаких изменений... Боже Мой! Опять те же грабли... в Documents And Settings же... Зачем надо было делать такой изврат??? Путаница страшная! Убиваю всё старое из папки в Program Files.
Копирую в "C:\Documents and Settings\ЮЗЕР\Local Settings\Application Data\FlashDevelop\Plugins"
Появилась панелька!
В настройках плагинов находим FlashAPI и прописываем "C:\Program Files\Adobe\Adobe Flash CS3\en\First Run\ActionsPanel\ActionScript_3\ActionsPanel_3.xml".

В панели Flash API появился список всех классов как в AS-панели.

Пропишем в свойствах еще один путь:
"C:\Program Files\Adobe\Adobe Flash CS3\en\First Run\ActionsPanel\ActionScript_1_2\ActionsPanel.xml".
Теперь в меню справа вверху можно будет выбрать панель для AS1 и 2.

Однако, проблема кнопочки F1 не решена. Продолжаем делать Zinc-оболочку, тем более что она почти готова.

понедельник, сентября 24, 2007

Установка FDTracer

Заходим на сайт.
Качаем и распаковываем FDTracer.dll.
Копируем библиотеку в "C:\Documents and Settings\ЮЗЕР\Local Settings\Application Data\FlashDevelop\Plugins\".

Создаем в папке "C:\Documents and Settings\ЮЗЕР\" (для Windows XP, остальное - подробнее здесь) файл "mm.cfg". В нем достаточно прописать
ErrorReportingEnable=1
TraceOutputFileEnable=1
Теперь в папке "C:\Documents and Settings\ЮЗЕР\Application Data\Macromedia\Flash Player\Logs\" будет создан log-файл "flashlog.txt". Этот файл будет постоянно сканировать наш плагин.

Кроме того, для работы плагина требуется, чтобы отлаживаемые SWF проигрывались Debug-версией Flash Player.

Пускаем FD. Видим новую панельку FDTracer.
Идем в Tools > Installed plugins > FDTracer settings.
Указываем C:\Documents and Settings\ЮЗЕР\Application Data\Macromedia\Flash Player\Logs\flashlog.txt.
Установка завершена.

Пробуем. Запустив тестовый проект, получаем трейс. И в панели Output и в панели FDTracer. Что ж, будем иметь под рукой расширенный просмотровщик трейсов.

пятница, сентября 21, 2007

Настройка нормального хелпа под FlashDevelop II

Порывшись в папках Eclipse под который был установлен Flex Builder 3, обнаружил в папке C:\Eclipse\plugins\com.adobe.flexbuilder.help_3.0.172437\ файл doc.zip, в котором сидит всё API.

Попробуем его активировать по F1.
Для этого нужен исполняемый файл, который будет получать в параметрах пакет и класс и открывать нужную html-страницу, желательно в себе.

Дальнейшее изыскание продолжу в рамках освоения Zinc.

четверг, сентября 20, 2007

Настройка нормального хелпа под FlashDevelop

Заодно нашел место где можно прописать, что запускается по клавише F1!
Это в настройках плагина AS3 Context -> Documentation Command Line. Надо попробовать настроить нормальный запуск хелпа. К примеру, через Adobe Help Viewer.

Итак, открываем Installed Plugins ->AS3 Context -> Settings -> Documentation Command Line. Видим здесь строку:
http://www.google.com/search?q=%22actionscript 3.0%22+$(ItmTypPkg)+$(ItmTypName)+$(ItmName)+site:livedocs.adobe.com

Всё как на ладони. Попробуем открывать livedocs.adobe.co. Для начал исследуем как он открывается из флэшового хелпа. Для MovieClip открывается такая ссылка:
http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/index.html?flash/display/MovieClip.html&flash/display/class-list.html

Напрямую вызвать онлайновый хелп не получится -
$(ItmTypPkg) возвращает flash.display, а нам надо flash/display

Попробуем написать редиректор, который скорректирует имя класса и перебросит нас на нужный раздел.

<?
$index=$_GET["index"];
$item=$_GET["item"];
$class=$_GET["class"];
$package=str_replace(".","/",$_GET["package"]);

Header("Location: http://livedocs.adobe.com/".$index.$package."/".$class.".html#".$item);
?>


Теперь пропишем в настройках F1:
http://www.my_url.ru/fd2livedocs.php?index=flash/9.0/ActionScriptLangRefV3/&package=$(ItmTypPkg)&class=$(ItmTypName)&item=$(ItmName)

где www.my_url.ru - сайт-прокси, на который кладется PHP-редиректор.

Можно указать и ссылку на Flex:
http://www.my_url.ru/__as3doc/fd2livedocs.php?index=flex/2/langref/&package=$(ItmTypPkg)&class=$(ItmTypName)&item=$(ItmName)

К сожалению, не работают якоря для методов, т.к. якоря указываются с "()".

Избавимся от того недостатка:
Добавим параметр $(ItmKind).

http://www.my_url.ru/__as3doc/fd2livedocs.php?index=flex/2/langref/&package=$(ItmTypPkg)&class=$(ItmTypName)&item=$(ItmName)&kind=$(ItmKind)

Меняем код PHP:

<?

$index=$_GET["index"];
$item=$_GET["item"];
$class=$_GET["class"];
$package=str_replace(".","/",$_GET["package"]);

$kind=$_GET["kind"];
if ($kind=="function") $kind="()"; else $kind="";

Header("Location: http://livedocs.adobe.com/".$index.$package."/".$class.".html#".$item.$kind);

?>


Теперь всё Ок.

При вызове справки, броузер открывается в последнем открытом окне - это совсем не удобно.

Попробовал также такую систему для AS2 - не работает, т.к. в livedocs AS2 пути к нужным документам содержат пакеты, а FD пакеты не передет :(.

Настройка ASDoc для FlashDevelop

Для начала посмотрим что-нибудь интересное на официальном сайте.
Здесь есть что-то про ASDoc. Пробуем следовать инструкциям. Никакого эффекта. Новой кнопки в тулбаре не появляется... Странно похоже, что FD глубоко наплевать на файлы ToolBar.xml и т.п. Всё. Понял. Теперь все файлы программы располагаются в C:\Documents and Settings\ЮЗЕР\Local Settings\Application Data\FlashDevelop\Settings.
А менял я файлы оставшиеся от старой версии! По команде Application Files, открывается проводник в нужной папке. Там и надо действовать.
Теперь следуем инструкции дальше.
Вставляем
<button label="Generate ASDOC" click="RunProcessCaptured" image="95" tag="$(ASDoc);-doc-sources "$(ProjectDir)/src" -main-title "$(ProjectName)" -output "$(ProjectDir)/doc"" />
Теперь, если в проекте есть папка "src", всё отлично работает, генертися документация по всем классам, даже с алфавитным указателем. Впечатлило!

Устанавливаем FlashDevelop 3.0.0 Beta3

Заходим на FlashDevelop 3.0.0 Beta3 released и качаем. Ставим. Запускаем.
Открываем старый проект. Пробуем запустить. Просит установить настройки компилятора. Они сбросились. Устанавливаем путь к Flex SDK. Всё равно ошибка. Странно.
Попробуем создать новый проект. В окне создания проекта добавилось много новых пунктов. Запускаем. Нет. Всё равно не находит путь к компилятору.
Все ясно. Я указывал полный путь к компилятору "C:\Program Files\FlashDevelop\Flex2SDK\bin", а нужно путь ко всему Flex SDK "C:\Program Files\FlashDevelop\Flex2SDK".
Всё заработало. Старые проекты открываются и компилятся.

Порадовало что убрали FlashConnect, а значит будет что-то более удобное для отладки и трейса. Но это мы позже попробуем.

пятница, августа 17, 2007

FlashDevelop. Plugins

Как только начинаем работать в редакторе, сразу испытывается дискомфорт из-за отсутствия под рукой Help-а и быстрого перехода на интересующую нас статью прямо из редактора. Кстати, при нажатии F1, открывается Google со строкой поиска, содержащей выделенное слово. Причем, если IE уже открыт, то откроется прямо в нем. Нас это, конечно же не устраивает.
Попробуем решить эту проблему использованием плагинов (если таковые имеются). Смотрим официальный сайт. В разделе Plugins находим HelpPanel Plugin Releases [1.4 Beta]. Качаем Download Beta Release последнюю версию. Разархивируем, читаем readme.txt. Надо скопировать две DLL-ки в каталог с плагинами. Копирую "FlashDevelop\FirstRun\Plugins". Запускаю FlashDevelop. Сразу ошибка "Unable to load one or more of the requested types..." Так. Пробуем предыдущую версию, которая не beta. Тот же результат. Пока ясно одно - плагин для 2-й не работает под 3-й версией.

Ну точно. Последняя (на сегодня) фраза в этой теме: "I suppose I need to work on my rusty c# skills again so that I can update the help plugin for FD3 soon". Это всё объясняет.

Судя по всему, других новых плагинов пока еще тоже нет.
Увы, ждем появления и закрываем тему с плагинами.

Есть еще вариант более удобного просмотра Help:

Вызываем On-line Documentation

Открывается окно броузера новой закладкой прямо в редакторе.

В адресную строку вводим адрес документации: http://livedocs.adobe.com/flash/9.0/main/wwhelp/wwhimpl/js/html/wwhelp.htm.
Затем можно было бы переместить окошко на нужное место и сохранить в Layouts полученную конфигурацию окон. Но при старте программы или активации Layout, окно не выводится.

Итак. Сделать более удобный доступ к Help мы не смогли. Это большой минус, который, возможно, будет скоро исправлен.

среда, августа 15, 2007

FlashDevelop. Первые впечатления

Теперь попробуем редактор в действии.
Для начала, я взял пример с роботом из архива APE alpha 0.45.
Создаем новый проект: Project > New Project > ActionScript 3 - Default Project. Здесь мы даем название проекту и указываем где будет располагаться рабочий каталог.
После создания проекта, в указанном каталоге появились подкаталоги bin, classes, library. В каталоге classes появился файл Main.as, в котором описывается пустой класс "Main".
Внимание! Программа выдает сообщение, что в каталоге есть файлы. Если там уже есть файл Main.as, что бы в нем не было, он будет заменен на файл пустого класса (и я на это попался).

Итак, справа в закладке "Project" отображаются все рабочие файлы проекта. Удаляем Main.as и отмечаем для RobotDemo.as во всплывающем меню "Always Compile". Таким образом, этот файл при компиляции будет основным. Имя результирующего SWF, по команде "Test movie" и "Build Project" будет соответствовать названию проекта.

В свойствах проекта множество настроек. Понравилась возможность указывать командные строки до и после компиляции. Рекомендую сразу установить "Open SWF in" = "External", чтобы "Test movie" открывалось в проигрывателе а не новой закладкой в основном окне редактора.

Немного поигрался настройками робота и довел его до полной самодеструкции на первых же секундах движения.

Впечатления по редактору. Чувствую себя комфортно. Решил бросить свой старый устоявшийся еще с турбо-паскаля стиль программирования (точнее форматирования) и перейти на стандартный. Здесь в этом есть смысл - табуляции отображаются пунктирной линией, что четко отражает структуру кода.
Автоподстановка работает прекрасно, ловко предугадывая, где надо предложить варианты. И делает это без "фанатизма", если в ее услугах не нуждаются. Сама подстанавливает при необходимости директивы "Import Имя класса" над описанием класса. Кроме того, автоподстановка хватает на лету только что созданные классы, их методы и свойства.
Важно - комментируя методы использовать ключевые слова"@param", "@private". Тогда автоподстановка станет еще умнее.


Сервисных возможностей много, но не скажу, что их очень много. Может быть это только на первый взгляд.

Очень понравилась система "Snippet" - вставки шаблонов кода.
Если зайти в "C:\Program Files\FlashDevelop\FirstRun\Snippets\as3\", там лежит набор стандартных шаблонов. Я тут же забил туда кучу новых шаблонов и вскоре успешно ими воспользовался. В шаблонах предусмотренны ключевые слова типа $(EntryPoint). Список всех ключевых слов здесь. Нажимаем Ctrl+B и пишем что-либо. В появившемся списке отбираются названия (или имена файлов) шаблонов, содержащих это что-либо. Выбираем нужный шаблон и ... получаем нужный фрагмент кода.
Таким образом, мы здорово облегчаем себе жизнь и ускоряем рабочий процесс.

Пока не совсем всё понятно с отладкой. Я нашел только trace и это возможно так:
  • Используем fscommand("trace", message);
  • Используем методы классов из "C:\Program Files\FlashDevelop\FirstRun\Library\AS3\classes\org\flashdevelop\utils\" - FlashConnect, FlashViewer, TraceLevel.

Завтра будем пробовать плагины для FlashDevelop.

Устанавливаем редактор FlashDevelop

Найти FlashDevelop можно здесь: http://www.flashdevelop.org/community/
Сайт производителя не впечатлил. По-видимому, разработчик не стал заморачиваться и с главной страницы сразу перекидывает редиректом на форум. Здесь, собственно, можно и скачать, прочитать новости и тут же всё это обсудить. Такой аскетизм свойственен Open Source.

Смотрим последний релиз: FlashDevelop 3.0.0 Beta2 released.
Качаем, устанавливаем. Не устанавливается. Ах да! Забыли поставить .NET framework.
Качаем Microsoft .NET 1.1 SP1 framework. Теперь установилось.
И вообще, почитаем-ка что тут пишут. Многообещающие списки нововведений радуют глаз. Просят материальной помощи. Ага, еще надо качнуть Download Adobe Flex 2 SDK и рекомендуют Download Adobe Flex Compiler SHell.
Долго копал как задействовать эти приблуды. Оказалось, Flex 2 SDK надо просто развернуть в любой каталог, и Flex Compiler Shell в него же. Затем зайти в Tools > Installed Plugins > AS3 Context > Settings > Flex 2 SDK Location и прописать здесь полный путь к этому каталогу.
Позже после множества бесплодных попыток скомпилировать что-нибудь, выяснилось что нужна еще и JRE (Java Runtime Environment). Я качнул ее отсюда: Java Runtime Environment Download from Sun Microsystems. Википедия в этом здорово помогла.

Итак, забегая вперед, .AS-скрипты успешно компилятся средствами Flex 2 SDK.
К сожалению, не могу подробно изложить весь процесс освоения установки этого продукта со всеми его ошибками и непонятками. Это было не сегодня. Сегодня я просто поставил всё выше перечисленное на свой домашний ноут, и всё прилежно заработало.

PS: И главное все впаривают Гугловскую панель поиска! Паразитов всяких разводить.