Просмотр полной версии : Автоимпорт в FlashDevelop при импорте основного класса
Когда в любой класс приложения импортируется основной класс, автоимпорт перестает работать как положено: не добавляются автоматически строчки import xxx в начале, при ручном вписывании импорта не работает автокомплит. Точнее автокомплит работает, но обращение к основному классу происходит не как к классу, а как к статическому экземпляру класса. Возможно в этом и есть проблема, что после импорта основной класс приложения рассматривается не как класс, а как статический экземпляр.
Можно ли как-то отключить такое поведение FD и оставить по умолчанию, даже после импорта основного класса?
olexandr
13.11.2013, 03:20
Я люблю FlashDevelop и мне интересны его потенциальные проблемы, но я совершенно не понял о чем вы. Может какой то пример?
Я имел ввиду вот это:
30161
Это не баг в прямом смысле, просто в правом варианте хотелось бы, чтобы осталось так же, как было в левом. Статиков в главном классе всего парочка, а классов в проекте разрослось уже много, для них подсказки нужнее. Если есть возможность как-то это настраивать - очень бы помогло.
у вас пакеты с большой буквы? имена пакетов совпадают с именами классов?
у вас пакеты с большой буквы?
Далее можно развернуть дискус на десяток страниц о необходимости соблюдения нотаций. Давайте остановимся на том, что лично мне так удобнее. В проекте, в котором кроме меня работают еще и другие люди, соблюдаются установленные правила.
имена пакетов совпадают с именами классов?
Только у главного класса. Это в принципе и порождает означенное неудобство, но не вредит конечному результату.
Название пакета не должно совпадать с именем класса.
Я могу написать так:
import Tmp.Tmp;
Tmp.test ();
А могу так:
import Tmp.Tmp;
Tmp.Tmp.test ();
И откуда FD узнает, что вы подразумевает под первым Tmp, пакет или класс?
FD не сможет понять того, что хотел пользователь в такой ситуации.
И я сомневаюсь, что другие редакторы смогли бы.
2 iNils
Первый вариант ФД и не скомпилирует, если не ошибаюсь.
Может тогда стоило бы физически запрещать в ФД создание класса с одинаковым именем с пакетом, что бы в последствии проблема не вылезала.
2 СлаваRa
Так я и спрашивал, можно ли ему где-то явно это указать. Ответ - нет. Придется лазить теперь по всему проекту и исправлять.
Первый вариант ФД и не скомпилирует, если не ошибаюсь.Нет. Но это на этапе компиляции, а речь идет о написании кода.
Может тогда стоило бы физически запрещать в ФД создание класса с одинаковым именем с пакетом, что бы в последствии проблема не вылезала.Во-первых, это не выход. Можно взять чужой проект с такой же структурой. Можно накидать все в блокноте. Проблема останется.
Во-вторых, это не такая частая проблема, при условии соблюдения правил в написании кода. Я сталкивался с ней всего 3 раза. Один раз у себя. Второй раз в блоге у нас писали. И третий был буквально на днях.
СлаваRa абсолютно верно обратил внимание на наименование пакетов. Вы сказали, что вам так удобнее. А причем тут разработчики FD? :)
2 iNils
Я написал про удобство, касаемо заглавных первых букв в наименованиях классов.
Про проблему одинакового имени класса и пакета - да, это моя проблема, мне ее нужно исправлять и я никак не говорю, что сделал правильно. Но, вы сами говорите, не я один такой нашелся и проблема всплывает периодически. А раз так, может стоит что-то скорректировать? К примеру ФД при переносе сторонних классов в проект ругается на несоответствие пакета. В качестве предложения, он может так же ругаться на совпадение имен класса и пакета.
Но, вы сами говорите, не я один такой нашелся и проблема всплывает периодически.Все проблемы периодически всплывают. Вопрос в частоте. С этими тремя случаями я столкнулся за 4 года. Меньше одного раза на год.
А раз так, может стоит что-то скорректировать? К примеру ФД при переносе сторонних классов в проект ругается на несоответствие пакета. В качестве предложения, он может так же ругаться на совпадение имен класса и пакета.А зачем тут об этом писать? Напишите на форум FD :)
А зачем тут об этом писать?
По ходу разговора получилось :)
Спасибо, вам и СлавеР, фейл осознал, буду исправлять.
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.