Один из возможных сценариев:
При добавлении нового пакета в Intellij (любой версии, включая Android студии), команда работает на основе контекста, где вы щелкнули правой кнопкой, чтобы выбрать New -> Package
. Подумайте о New -> Package
, так как это действительно означает New -> Add subpackage at this point in three
.
Таким образом, вы щелкните правой кнопкой мыши на исходный корень app/java
и выберите New -> Package
и тип one.two.three
вы в конечном итоге с:
app
+-- java
+-- one
+-- two
+-- three
Но если вы щелкните правой кнопкой мыши на новом узле в дереве проекта app/java/one/two/three
и выберите New -> Package
, набрав one.two.other
, вы в конечном итоге вложите пакет в другой. Ваше дерево будет тогда:
app
+-- java
+-- one
+-- two
+-- three
+-- one <---- OOOPS!
+-- two
+-- other
Но если бы я сразу же нажал обратно в корне app/java
и набрал одинаковое имя one.two.other
пакета, я бы в конечном итоге с:
app
+-- java
+-- one
+-- two
+-- three
+-- other
Я также мог нажать на дерево в app/one/two
a напечатано только other
, чтобы получить то же самое, опять же потому, что New -> Package
добавляет дополнительный пакет, где я, случается, принял действие.
Просто потому, что вы вводите то, что кажется полностью полным именем пакета в New -> Package
, не означает, что Intellij знает, что вы хотите вернуться и начать с корня. Он гнездится из любого места, где вы щелкнули, даже если это может быть очевидно (вам), что вы намеревались, Intellij последовательно выполняет действие с того места, где вы начали действие.
Некоторые скриншоты этого в действии ...
Добавление в неправильном месте: (обратите внимание на выбор в дереве проекта)
Результаты в:
Добавление в нужном месте: (обратите внимание на выбор в дереве проекта)
Результаты в:
добавления Также в нужном месте: (развернуть свернутые средние пакеты, чтобы увидеть, как дерево)
Результаты в :
Где вы нажимали и что вы набрали, когда говорили «Новый пакет?»? –