PDA

Просмотр полной версии : FlashDevelop и кэширование классов


SunShadow
02.04.2010, 23:43
Добрый вечер, уважаемые.
Решил заняться рефакторингом и оптимизацией своих наработок, немножко подкорректировал код, перераспределил по каталогам внутри пакета. Заметил что после этого у меня все перемешалось.
То есть есть каталог soft, в нем у меня лежит code и далее уже пошли классы. Я перенес часть классов в каталог soft.code.main но когда я в классе внутри этого каталога пытаюсь указать пакет для импорта я не вижу нового main. Вычистил уже все ClassPath как во Flash так и во FlashDevelop. Результат тот же. Нашел утилиту в Tools от FlashDevelop для Rebuild Classpath Cache. Утилитка отработала, новая структура появилась. Вроде бы живи да радуйся, но маленькое но старая структурка сохранилась и мешается при наборе кода(
Полностью переустановил FlashDevelop - не помогло.
Может кто нибудь подскажет как с этим можно бороться?

wvxvw
03.04.2010, 01:30
Компилируется после всего этого?

SunShadow
03.04.2010, 11:58
Извиняюсь, нашел решение на форуме FlashDevelop.org
Do you keep copies of the old classes in your classpath? Like "copy of Someclass.as" or "backup/Someclass.as"? FD may use them for completion.

If that's not the case you can always try cleaning FD classes cache in your FD user files (from FD: Tools > Application Files), remove files in /Data/ASCompletion/Cache.

Доберусь до ноута обязательно попробую. По результатам отпишусь, вдруг кому еще пригодиться.

Добавлено через 33 часа 49 минут
Не помог совет с форума. Стал разбираться дальше и нашел в чем причина. Чтобы далеко не бегать я все классы скидал в общую папку old и стал формировать новую структуру. Папка old осталась в корне моей структуры и видимо FD при создании кэша генерирует список на основании описания самого описания класса, не зависимо от того соответствует ли указанный пакет реальному расположению файла \.as\. Таким образом находя в папке old файл с указанным package soft.code{
public class Sample{
public function Sample():void{
}
}
}
показывал мне в выпадающем списке доступный класс soft.code.Sample, хотя лежит он в soft.old.
Надеюсь больше на эти грабли никто не наступит.