Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Блоги > Yet Another Flash Blog

Рейтинг: 5.00. Голосов: 2.

FlashDevelop 4.x, статья 3: Генерация членов класса в блоках со схожими модиф.

Запись от ir73 размещена 07.08.2011 в 20:55

Соскучились? Вот еще кое-чего полезного. Одна из моих любимых фич.

Программисты делятся на как минимум две категории: а) те, кто генерит новые методы рядом с текущим и б) те, кто любит, что приватные были с приватными, публичные с публичными и т.д. Так вот, я - б!

Открываем редактор. Выбираем Tools -> Application Files. Заходим в Snippets\as3\boundaries. Это файлы-темлейты, по которым ФД будет узнавать, где у вас в классе блок для геттеров-сеттеров, для эвент хяндлеров и прочее.

Почему нет блоков для переменных? Они и так будут генерится с себе подобными.

Как нам это все применить? Изменим темплейт класса, что б в нем были блоки. Для этого открываем Class.as.fdt.wizard файл из Templates\ProjectFiles\AS3Project и пишем туда:

Код AS3:
package $(Package) $(CSLB){
$(Import)	
	/**
	$(CBI)* ...
	$(CBI)* @author $(DefaultUser)
	$(CBI)*/
	$(Access)class $(FileName)$(Extends)$(Implements) $(CSLB){
 
		public function $(FileName)($(ConstructorArguments)) $(CSLB){
			$(Super)$(EntryPoint)
		}
 
		// PUBLIC METHODS
 
 
 
 
		// PRIVATE METHODS
 
 
 
 
		// STATIC METHODS
 
 
 
 
		// EVENT HANDLERS
 
 
 
 
		// ACCESSORS
 
 
 
	}
 
}
Теперь создаем новый класс через визард, получаем класс с блоками. Отныне, когда мы что-то будем генерить через Ctrl+1, методы будут попадать в правильный блок.

Следующая статья про генерацию метода в интерфейсе прямо из класса, который его имплементирует.
Размещено в flashdevelop
Комментарии 35 Отправить другу ссылку на эту запись
Всего комментариев 35

Комментарии

Старый 08.08.2011 16:29 nOobCrafter вне форума
nOobCrafter
может немного не в тему, но все же, а будет возможность задавать префиксы \ постфиксы переменным? например я хочу что бы приватные переменные начинались с "_", а аргументы с "$"?
Старый 08.08.2011 16:31 in4core вне форума
in4core
 
Аватар для in4core
Можно, надо тока найти где это ставится
Старый 08.08.2011 18:00 ir73 вне форума
ir73
nOobCrafter, на голобальном уровне - нет. Что-то можно подправить, например, в Snippets\as3\generators или в настройках у конкретного генератора, но думаю это не даст 100% результата.
Старый 08.08.2011 18:23 BBOY Ильич вне форума
BBOY Ильич
 
Аватар для BBOY Ильич
У меня почему-то не получилось с блоками вида

Код:
//-------------------------------------------------------------------//
//
//				Private Methods
//
//-------------------------------------------------------------------//
Старый 08.08.2011 18:27 ir73 вне форума
ir73
у тебя блок с начала строки идет? Может табуляцтю добавить?
Попробуй типа такого, с табами.
Код AS3:
             //-------------------------------------------------------------------//
             //
             //				Private Methods
             //
             //-------------------------------------------------------------------//
А вообще да, надо это поправить.
Старый 08.08.2011 18:37 BBOY Ильич вне форума
BBOY Ильич
 
Аватар для BBOY Ильич
Табуляция не помогла.
Старый 08.08.2011 18:40 ir73 вне форума
ir73
тогда пока придется использовать однострочный разделитель блоков
Старый 08.08.2011 19:00 nOobCrafter вне форума
nOobCrafter
Код AS3:
//- PUBLIC & INTERNAL METHODS -----------------------------------------------------------------------------
 
 
//- PRIVATE & PROTECTED METHODS ---------------------------------------------------------------------------
 
 
//- EVENT HANDLERS ----------------------------------------------------------------------------------------
а если я использую такие разделители, проблем не должно быть? они однострочные просто символов много
Старый 08.08.2011 19:22 ir73 вне форума
ir73
да, будет ОК.
Ты можешь даже использовать

Код AS3:
////////////////
////////////
//////////////
//- EVENT HANDLERS ------------------------
просто в соответствующий boundaries файл добавляй только последнюю строку.
Старый 08.08.2011 19:52 КорДум вне форума
КорДум
 
Аватар для КорДум
Есть ли возможность добавить отдельные блоки для протектных методов, протектных хендлеров, протектных акцессоров и прочее?
Старый 08.08.2011 20:10 ProxyGreen вне форума
ProxyGreen
 
Аватар для ProxyGreen
Хммм, а "ACCESSORS" это кто такие?
Старый 08.08.2011 21:01 fish_r вне форума
fish_r
 
Аватар для fish_r
set & get
Старый 08.08.2011 21:01 incoob вне форума
incoob
Цитата:
Хммм, а "ACCESSORS" это кто такие?
get\set

опередил
Старый 08.08.2011 22:53 ir73 вне форума
ir73
Кордум, сейчас нет. Не встречал пока, кому могло б понадобиться.
Старый 09.08.2011 00:56 iNils вне форума
iNils
 
Аватар для iNils
Цитата:
Кордум, сейчас нет. Не встречал пока, кому могло б понадобиться.
Я использую. Странно что этого нет, это ведь однотипные вещи и сделать это сразу было самым логичным действием.
Старый 09.08.2011 11:08 ir73 вне форума
ir73
protected методы генерятся в private блоки. И наоборот. (должны по крайней мере).
Старый 09.08.2011 11:34 iNils вне форума
iNils
 
Аватар для iNils
Цитата:
protected методы генерятся в private блоки. И наоборот. (должны по крайней мере).
И на фига?
Получается, что: Соль в банке из под перца, перец в банке из под кофе, а кофе в банке из под соли.
Я вот не пойму, неужели нельзя сделать сразу нормально? Что этому мешает?
Старый 09.08.2011 12:50 ir73 вне форума
ir73
protected методы превращаются в private довольно часто, и наоборот. Мне удобно было, что б они были в одном блоке, так как при смене модификатора метод сам в другой блок не перепрыгнет, в ручную не есть кул. Так что пока так
Старый 09.08.2011 13:24 arkadattx вне форума
arkadattx
Присоединяюсь к iNils
Да и вообще не плохо бы самим регулировать что и по какому принципу в какие (кастомные) блоки вставлять.
Старый 09.08.2011 13:50 КорДум вне форума
КорДум
 
Аватар для КорДум
Такие штуки работают только в визарде или в обычных some.as.fdt файлах тоже заработают?
Старый 09.08.2011 18:01 ir73 вне форума
ir73
да без разницы, везде где есть маркеры блоков
Старый 27.02.2012 12:31 dsQuadro вне форума
dsQuadro
 
Аватар для dsQuadro
а может еще подскажете где найти файл с настройками "Custom Arguments", и где можно подправить стандартные аргументы?
Старый 27.02.2012 14:47 ir73 вне форума
ir73
Tools > Custom Arguments ?
Старый 27.02.2012 15:47 dsQuadro вне форума
dsQuadro
 
Аватар для dsQuadro
да, только где их внешний файл взять... чтобы эти настройки перенести с 1 компа на другой
Старый 27.02.2012 17:41 КорДум вне форума
КорДум
 
Аватар для КорДум
Код AS3:
//---------------------------------------
//
// PRIVATE HANDLERS
//
//---------------------------------------
А если комментарий такого вида, будет ли работать?
Я попробовал, такие блоки просто не находятся. Или же я неверно оформил файл с ним.
Старый 28.02.2012 12:05 ir73 вне форума
ir73
Пока только однострочные блоки работают.
Старый 28.02.2012 12:40 КорДум вне форума
КорДум
 
Аватар для КорДум
Было бы неплохо в новой версии ввести. Во многих исходниках разных авторов видел многострочные блоки. Собственно, сам я их оттуда и взял, насмотрелся.
Старый 28.02.2012 13:50 in4core вне форума
in4core
 
Аватар для in4core
Цитата:
Было бы неплохо в новой версии ввести.
Не понимаю пока предмет разговора, я сам сгенерировал для себя шаблон многострочки и FD его вставляет всегда, когда мне нужно ( ctrl + B ... далее по списку )
Старый 28.02.2012 13:51 ir73 вне форума
ir73
Цитата:
Было бы неплохо в новой версии ввести. Во многих исходниках разных авторов видел многострочные блоки. Собственно, сам я их оттуда и взял, насмотрелся.
не поверишь, сам страдаю
Старый 28.02.2012 16:13 КорДум вне форума
КорДум
 
Аватар для КорДум
Цитата:
Не понимаю пока предмет разговора
Генерация не блоков, а методов в соответствующем блоке.
Прочти запись и комментарии сначала =)
Старый 28.02.2012 17:16 in4core вне форума
in4core
 
Аватар для in4core
Лень читать, зайди вечером в скайп, нужно блюскрин делать, я щас на новый проект сел
Старый 28.02.2012 17:33 КорДум вне форума
КорДум
 
Аватар для КорДум
Сань, так смысл тогда писать "Не понимаю пока предмет разговора", если "Лень читать"?
Старый 28.02.2012 18:32 in4core вне форума
in4core
 
Аватар для in4core
А я твой блок коментариев увидел просто, думал вы о нем)
Старый 28.02.2012 20:10 Psycho Tiger вне форума
Psycho Tiger
 
Аватар для Psycho Tiger
В обсуждении этой статьи очень важно знать, на какой новый проект ты сел.
Старый 28.02.2012 20:15 in4core вне форума
in4core
 
Аватар для in4core
Цитата:
В обсуждении этой статьи очень важно знать, на какой новый проект ты сел.
Спасибо, я тоже так подумал.
 

 


Часовой пояс GMT +4, время: 01:19.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.