понедельник, 4 октября 2010 г.

Некоторые возможности FlashDevelop

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



Генерация кода (в новом релизе 3.3.0 RTM добавилось много новых возможностей (спасибо ir73)):



1. Автоматическое исправление имени пакета при перемещении файла класса из одной папки в другую. Включается в Tools --> Program Settings --> AS3Context --> Fix Package Automatically --> true.

2. Генерация полей из параметров метода. Помещаем позицию курсора в имя параметра, нажимаем комбинацию Ctrl+Shift+1 для генерации закрытых свойств класса.

Рисунок 1. – Генерация свойств класса из параметров метода


Рисунок 1. – Генерация свойств класса из параметров метода



3. Генерация директивы импорта. Если класс не импортирован в вашем коде, то помещаем позицию курсора на имя класса, нажимаем комбинацию Ctrl+Shift+1, после чего создается директива импорта этого класса.

4. Генерация обработчиков событий. Пишем метод addEventListener() с типом события и именем обработчика в качестве параметров. Перемещаем позицию курсора в имя обработчика, нажимаем комбинацию Ctrl+Shift+1. Создается объявление этого метода-обработчика.

Рисунок 2. – Генерация обработчика событий


Рисунок 2. – Генерация обработчика событий



5. Генерация геттеров/сеттеров. Перемещаем позицию курсора в имя закрытого свойства, нажимаем комбинацию Ctrl+Shift+1. Генерируется геттер и сеттер для этого закрытого свойства. Опционально можно выбрать или только сеттер или только геттер.

6. Вынос локальной переменной в свойство класса. Все то же самое: перемещаем позицию курсора в имя переменной и нажимаем комбинацию Ctrl+Shift+1.

7. Автоматическое закрытие скобок, кавычек – включается в Tools --> Program Settings --> ASCompletion --> Add Closing Braces --> true.

8. Добавление открытых методов и свойств в классах: например в классе Main создаем переменную типа TestClass и где-нибудь в коде вызываем ее несуществующий метод foo():

private var _testClass:TestClass = new TestClass();
_testClass1.foo('fooArg1', 22);


Тогда, если переместить позицию курсора на название этого несуществующего метода и нажать комбинацию Ctrl+Shift+1, то в классе TestClass сгенерируется открытый метод foo со следующими параметрами:

public function foo(arg1:String, arg2:Number):void 
{
}


9. Рефакторинг: Окружение и выделение в кода в метод, локальной переменной в свойство класса.
- Окружение. Здесь все просто – выделяем участок кода, правой кнопкой по нему, выбираем Refactor --> Surround With… --> выбираем нужную конструкцию (for, for…each и т.д.)
- Выделение метода. Опять выделяем строку или несколько строк, которые хотим выделить в отдельный метод, правой кнопкой по нему, выбираем Refactor --> Extract Method…
- Выделение локальной переменной в свойство класса. Здесь все то же самое только выбираем локальную переменную.

10. Сниппеты. Еще одна очень полезная штука. Список сниппетов появляется при нажатии комбинации Ctrl+B. Но можно обойтись и без списка, например пишем for, затем Ctrl+B и появляется остальная часть конструкции.

Рисунок 3. – Список сниппетов


Рисунок 3. – Список сниппетов



Все сниппеты можно отредактировать, используя встроенный редактор, который можно открыть в Tools --> Code Snippets…

11. Шаблоны файлов. Очень полезно создать для себя шаблоны файлов. Например, в шаблон файла класса можно прописать свое авторство и разделители секций. Файлы шаблонов лежат в папке (win7) C:\Users\Имя_пользователя\AppData\Local\FlashDevelop\Templates\

Редактирование кода и навигация



1. Комментирование строк – Ctrl+Q, комментирования блока кода – Ctrl+Shift+Q.

2. Люблю порядок в блоках объявления свойств или переменных :). Сортировка группы строк по первому символу каждой строки Edit --> Sort Lines.

3. Показать сигнатуру метода - Ctrl+Shift+Space.

4. При нажатии на F4 когда курсор стоит на свойстве или методе, мы переходим к объявлению этого свойства или метода. При нажатии комбинации Shift+F4 возвращаемся обратно.

Панель Tasks



Отслеживание состояния проекта. Панель Tasks. Включается в View --> Tasks List. Очень удобно, не надо лазать по коду и искать комментарии, все отображается в панели. Ключевые слова TODO, BUGS, FIXME. Можно задать новые ключевые слова в Tools --> Program Settings --> TaskListPanel --> Group Values.

Рисунок 4. – Панель задач


Рисунок 4. – Панель задач



Пример конструкции для создания задачи:

//TODO: animation


Этого пока хватит :)

Ссылки (все на английском):


Общая информация о редакторе
Описание релиза FlashDevelop 3.3.0 RTM
Возможности
Некоторые возможности добавленные в 3.3.0 RTM


upd: вот еще хороший материал по комбинациям горячих клавиш на byflasher.com

1 комментарий:

  1. [...] Я надеюсь эти горячие клавиши помогут вам в эффективном использовании Флеш Девелопа. Помимо клавиш советую почитать о некоторых возможностях новой версии flash develop’а. [...]

    ОтветитьУдалить