Jak rozszerzyć złożony łańcuch pakietów w Intellij IDEA?

127

Intellij IDEA automatycznie łączy pakiety razem, jeśli te pośrednie są w przeciwnym razie puste. Ogólnie jest to fajna funkcja. Jednak czasami nie chcesz, aby były one połączone łańcuchami, zwłaszcza gdy jesteś w trakcie tworzenia nowych struktur pakietów dla nowego projektu. Mogłem natknąć się na ustawienie wyłączania tej funkcji dla określonego pakietu, ale nie mogę go teraz znaleźć. Czy ktoś wie, jak sterować tą funkcją? Dziękuję Ci bardzo.

A tak przy okazji, na wypadek gdybyś potrzebował wyjaśnienia, co rozumiem przez łańcuch pakietów, jest następujące. Załóżmy, że masz taką strukturę pakietu:

$ tree com
com
└── company
    └── project
        └── some
            └── feature

Ponieważ tak naprawdę nie ma nic więcej w folderach pośrednich, Intellij IDEA automatycznie wyświetli to jak

com.company.project.some.feature

w eksploratorze projektów, który wygląda na to, że pakiety są ze sobą połączone.

JBT
źródło
9
Odpowiedź poniżej zawiera prawdziwą odpowiedź, ale pomyślałem, że wtrącę się do jednej rzeczy, której się niedawno nauczyłem. Jeśli masz zwinięte struktury pakietów, jeśli dodasz nowy pakiet, który ma tę samą główną przestrzeń nazw, wówczas intellij będzie wystarczająco inteligentny, aby rozszerzyć zakres. tj. jeśli mam, com.foo.devshorts.modela następnie dodam com.foo.devshorts.controllers, rozwinie się com.foo.devshorts.
devshorts
3
@devshorts To właściwie jeden z ważnych powodów, dla których o to zapytałem. W twoim przykładzie, jeśli chcę tworzyć controllerspo utworzeniu com.foo.devshorts.model, będę musiał przedrostek controllerz com.foo.devshorts, co jest denerwujące.
JBT,
Tak, czuję to samo. Chociaż udało mi się zrobić to tak, jak zasugerowałem, ponieważ częściej wolę skompaktowane pakiety niż nie.
devshorts
6
JBT & @devshorts Łatwiejszym sposobem - jeśli chcesz zachować widok pakietów kompaktowych - jest użycie paska nawigacji (Alt + Home). Otwórz go, strzałką nad (i w dół) wybierz żądany pakiet nadrzędny, a następnie utwórz nowy pakiet podrzędny (lub klasę z prefiksem). Innym pseudo obejściem, ponieważ usuwanie jest łatwiejsze niż pisanie, jest umieszczenie kursora na długim pakiecie (w tym przykładzie com.foo.devshorts.model) w widoku projektu i wykonanie „Kopiuj odniesienie” (Ctrl + Alt + Shift + C, menu Edycja> Kopiuj odniesienie lub w menu kontekstowym po kliknięciu prawym przyciskiem myszy). Następnie podczas tworzenia pakietu wklej skopiowany pakiet i usuń w razie potrzeby.
Javaru,

Odpowiedzi:

238

Usuń zaznaczenie opcji „Ukryj puste środkowe pakiety” w menu rozwijanym ustawień widoku projektu:

Ukryj puste środkowe pakiety

Daniel Kaplan
źródło
11
W ramach aktualizacji ta opcja wydaje się teraz nosić nazwę Hide Empty Middle Packages
Stephane
4
W wersji IntelliJ Ultimate 14.1.4. nadal jest "Kompaktowe ..." w rozwijanym menu narzędzi (klikając małą strzałkę w dół na pasku menu eksploratorów projektu)
Pytry
ok, po prostu podążaj za odczytanymi numerami na zrzucie ekranu, aby dotrzeć do opcji
steveen zoleko
2
Myślę, że należy dodać, że aby dostać się do tego menu, należy kliknąć prawym przyciskiem myszy w górnym pasku „Projekt” (lewy górny zrzut ekranu).
Carcigenicate
6
Compact Middle Packagesw Idea Ultimate 2018.02
J-Alex
17

Jako kolejne rozwiązanie, jak stworzyć kolejny plik w pakiecie pośrednim:

Użyj rozszerzonej hierarchii pakietów w górnej części okna, jak pokazano poniżej Jak pokazano niżej

Khojiakbar
źródło