![](https://habrastorage.org/storage/f55238bd/36f7674b/694c2e5a/d0ffcd59.png)
Как известно, эти два продукта прекрасно уживаются вместе. Что удивительно — многие об этом не знают. Они давятся, плюются, но пишут код в Flash CS 5.
Данная статья рассказывает, как скрестить эти два продукта и как побороть мелкие неприятности в процессе.
Зачем нам Flash Builder, если есть Flash?
Ответ достаточно очевиден:
1. Нормальный Debug (condition breakpoints и прочие прелести)
2. Нормальный редактор кода с хоть каким-то, но рефакторингом
3. Version control
4. Интеграция с багтрэкерами
5. Другие вкусности Eclipse
Проблемы:
1. Абсолютные пути
2. Version control
3. Flex library projects и их подключение
Под катом описание мягкого способа создания проекта, при котором не будет проблем ни с svn, ни с абсолютными путями.
Скрещивание
1. Открываем Flash CS5 и создаем ActionScript 3.0 проект.
2. Сохраняем его в папку Workspace-а Flash Builder-а
Например:
/Users/alex/Documents/Adobe Flash Builder 4/labs/TestFlashProject.fla
Где
/Users/alex/Documents/Adobe Flash Builder 4/labs/
Путь к workspace
Это промежуточный шаг, он позволит нам побороться с тем, что при создании проекта Flash Builder подключит сырцы как external folder.
3. Открываем Flash Builder, выбираем нужный нам workspace (File -> Switch workspace)
4. Возвращаемся во Flash Professional. Идем в свойства документа (щелкнув по фрейму мышой и перейдя в Properties). Нам надо назначить Document класс. Щелкаем по Edit class definition:
![](https://habrastorage.org/storage/f5acb8bc/83422463/7c9f2ecd/413ca3b4.png)
Вводим имя класса и выбираем в списке приложений для редактирования Flash Builder:
![](https://habrastorage.org/storage/9c24ae04/2d3a7ddc/27c72e8f/41101ad9.png)
Давим OK. Открывается Flash Builder с диалогом создания проекта:
![](https://habrastorage.org/storage/2d5cea67/86832360/3b935574/f5d1df96.png)
Менять нам ничего не надо, просто давим Finish.
У нас получился проект TestFlashProject. Основной класс НЕ СОЗДАЛСЯ и это просто отлично.
5. Закрываем FLA файл (предварительно сохранив)
6. Переносим руками FLA файл из папки Workspace-а в папку проекта
7. Переключаемся в Flash Builder, открываем свойства проекта, переходим в свойствах на Flash Professional:
![](https://habrastorage.org/storage/f12400a4/4486dd84/8e52ec11/a6119a41.png)
Выделяем путь к FLA и давим Edit. Указываем новый путь к FLA. Получится вот так:
![](https://habrastorage.org/storage/a30e0b57/57fb0e3e/2c72cd28/3879c132.png)
Давим ОК.
Далее сам по себе откроется Flash Professional (если вы его закрыли), и во Flash Builder-е появится диалог создания основного класса:
![](https://habrastorage.org/storage/c8559226/e795d95e/240529aa/de1f62c5.png)
Создаем и радуемся. Первая стадия закончена.
fla файл лежит в папке проекта. Flash builder project связан с ним относительным путем. Никаких проблем с переносом.
Во Flash Builder-е теперь можно давить Cmd(ctrl) + Enter для компилляции, дебага и запуска и радоваться жизни.
SVN
Собственно, после того, как все файлы проекта оказались в папке проекта и исчезли все External folder-ы, никакой проблемы нету. Работаем как с обычным Flash Builder проектом.
(Если интересно, могу рассказать как зацепится к svn, но все достаточно очевидно и просто)
Flex library projects
Небольшое затруднение может вызвать подключение Flex library project-ов.
Зачем их подключать? Если вы до сих пор таскаете source code ядра однотипных приложений копипастом as файлов из одного в другое, у меня для вас плохая новость.
Итак, имеется Flex Library Project. Для простоты — он лежит в том-же workspace. Например:
![](https://habrastorage.org/storage/69b290df/88d4cfba/b204e0dc/6b003000.png)
Простое подключение его через свойства проекта во Flash Builder-е приведет к неприятности: Flash Professional при компиляции его не увидит.
![](https://habrastorage.org/storage/574e0663/0db4f154/79c94858/51341d2f.png)
(Однако подключить его надо, дабы Flash Builder нормально видел классы)
Ладно, не хочешь — заставим. Идем в Flash Professional, открываем наш TestFlashProject.fla
File -> ActionScript settings:
![](https://habrastorage.org/storage/083fd7ef/5df864ed/a76920a0/fe84d0e8.png)
Добавляем путь к swc, а затем правим его на относительный (мы же хотим, что бы с version control все было хорошо, не так ли? ). Получится следующее:
![](https://habrastorage.org/storage/f307819a/f99abe58/77b0c122/ba8e0136.png)
Давим OK, потом Cmd(Ctrl)+Enter…
Ура! Все компилится, работает и, самое главное, юзает относительные пути!
P.S.:
Некоторые вещи немного не очевидны, но в общем и целом все просто.