PDA

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


Korchy
09.11.2013, 11:02
Когда в любой класс приложения импортируется основной класс, автоимпорт перестает работать как положено: не добавляются автоматически строчки import xxx в начале, при ручном вписывании импорта не работает автокомплит. Точнее автокомплит работает, но обращение к основному классу происходит не как к классу, а как к статическому экземпляру класса. Возможно в этом и есть проблема, что после импорта основной класс приложения рассматривается не как класс, а как статический экземпляр.
Можно ли как-то отключить такое поведение FD и оставить по умолчанию, даже после импорта основного класса?

olexandr
13.11.2013, 03:20
Я люблю FlashDevelop и мне интересны его потенциальные проблемы, но я совершенно не понял о чем вы. Может какой то пример?

Korchy
13.11.2013, 11:41
Я имел ввиду вот это:

30161

Это не баг в прямом смысле, просто в правом варианте хотелось бы, чтобы осталось так же, как было в левом. Статиков в главном классе всего парочка, а классов в проекте разрослось уже много, для них подсказки нужнее. Если есть возможность как-то это настраивать - очень бы помогло.

СлаваRa
13.11.2013, 11:44
у вас пакеты с большой буквы? имена пакетов совпадают с именами классов?

Korchy
13.11.2013, 12:22
у вас пакеты с большой буквы?
Далее можно развернуть дискус на десяток страниц о необходимости соблюдения нотаций. Давайте остановимся на том, что лично мне так удобнее. В проекте, в котором кроме меня работают еще и другие люди, соблюдаются установленные правила.

имена пакетов совпадают с именами классов?
Только у главного класса. Это в принципе и порождает означенное неудобство, но не вредит конечному результату.

iNils
13.11.2013, 12:40
Название пакета не должно совпадать с именем класса.

Я могу написать так:
import Tmp.Tmp;
Tmp.test ();

А могу так:
import Tmp.Tmp;
Tmp.Tmp.test ();

И откуда FD узнает, что вы подразумевает под первым Tmp, пакет или класс?

СлаваRa
13.11.2013, 13:04
FD не сможет понять того, что хотел пользователь в такой ситуации.
И я сомневаюсь, что другие редакторы смогли бы.

Korchy
13.11.2013, 13:13
2 iNils
Первый вариант ФД и не скомпилирует, если не ошибаюсь.

Может тогда стоило бы физически запрещать в ФД создание класса с одинаковым именем с пакетом, что бы в последствии проблема не вылезала.

2 СлаваRa

Так я и спрашивал, можно ли ему где-то явно это указать. Ответ - нет. Придется лазить теперь по всему проекту и исправлять.

iNils
13.11.2013, 13:27
Первый вариант ФД и не скомпилирует, если не ошибаюсь.Нет. Но это на этапе компиляции, а речь идет о написании кода.

Может тогда стоило бы физически запрещать в ФД создание класса с одинаковым именем с пакетом, что бы в последствии проблема не вылезала.Во-первых, это не выход. Можно взять чужой проект с такой же структурой. Можно накидать все в блокноте. Проблема останется.

Во-вторых, это не такая частая проблема, при условии соблюдения правил в написании кода. Я сталкивался с ней всего 3 раза. Один раз у себя. Второй раз в блоге у нас писали. И третий был буквально на днях.

СлаваRa абсолютно верно обратил внимание на наименование пакетов. Вы сказали, что вам так удобнее. А причем тут разработчики FD? :)

Korchy
13.11.2013, 13:46
2 iNils
Я написал про удобство, касаемо заглавных первых букв в наименованиях классов.

Про проблему одинакового имени класса и пакета - да, это моя проблема, мне ее нужно исправлять и я никак не говорю, что сделал правильно. Но, вы сами говорите, не я один такой нашелся и проблема всплывает периодически. А раз так, может стоит что-то скорректировать? К примеру ФД при переносе сторонних классов в проект ругается на несоответствие пакета. В качестве предложения, он может так же ругаться на совпадение имен класса и пакета.

iNils
13.11.2013, 13:55
Но, вы сами говорите, не я один такой нашелся и проблема всплывает периодически.Все проблемы периодически всплывают. Вопрос в частоте. С этими тремя случаями я столкнулся за 4 года. Меньше одного раза на год.
А раз так, может стоит что-то скорректировать? К примеру ФД при переносе сторонних классов в проект ругается на несоответствие пакета. В качестве предложения, он может так же ругаться на совпадение имен класса и пакета.А зачем тут об этом писать? Напишите на форум FD :)

Korchy
13.11.2013, 14:18
А зачем тут об этом писать?

По ходу разговора получилось :)

Спасибо, вам и СлавеР, фейл осознал, буду исправлять.