ChatGPT解决这个技术问题 Extra ChatGPT

How to expand folded package chain in Intellij IDEA?

Intellij IDEA automatically chain packages together if the intermediate ones are otherwise empty. It is a nice feature in general. However, sometimes you don't want them to be chained, especially when you are in the middle of creating new package structures for your new project. I might have come across the setting for disabling this feature for a certain package, but I can't find it where now. So, does anyone know how to control this feature? Thank you very much.

BTW, in case you need clarification, what I mean by package chaining is as follows. Suppose you have this package structure:

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

Since there are really nothing else inside the intermediate folders, Intellij IDEA will automatically display it like

com.company.project.some.feature

in the project explorer, which looks like the packages are chained together.

The answer below has the real answer, but I thought I'd chime in with one thing I recently learned. If you have collapsed package structures, if you add a new package that has the same root namespace then intellij will be smart enough to expand things out. i.e if i have com.foo.devshorts.model and then i add com.foo.devshorts.controllers it'll expand out com.foo.devshorts.
@devshorts That is actually one important reason why I asked. In your example, if I want create controllers after creating com.foo.devshorts.model, I will have to prefix controller with com.foo.devshorts, which is annoying.
Yeah, I feel the same way. Though I've gotten to just doing it the way I suggested since I prefer compacted packages more often than not.
JBT & @devshorts An easier way - if you want to keep the compact packages view - is to use the navigation bar (Alt+Home). Open it, arrow over (and down) to the desired parent package, and then create a new sub-package (or prefixed class). Another pseudo workaround, since deleting is easier than typing, is to put your cursor on the long package (com.foo.devshorts.model in your example) in the project view and do a "Copy Reference" (Ctrl+Alt+Shift+C, menu Edit > Copy Reference, or in right click context menu). Then when you create your package, paste the package you copied and delete as needed.

P
Petrus Theron

Uncheck "Hide Empty Middle Packages" under the Project View settings dropdown:

https://i.stack.imgur.com/nwmFm.png


As an update, this option seems to be now named Hide Empty Middle Packages
In IntelliJ Ultimate version 14.1.4. it is still "Compact ..." in the drop down tool menu (clicking the little cogwheels down arrow in the project explorers menu bar)
I think it should be added that to get to that menu, you right click in the "Project" top bar (top left in the screen shot).
Compact Middle Packages in Idea Ultimate 2018.02
Compact Middle Packages is still the name in IntelliJ Idea Ultimate 2020.3.3
K
Khojiakbar

As another solution of how to create another file in the intermediate package:

https://i.stack.imgur.com/xSYhJ.png


S
Sonners

Or you just can right-click on left-sided project tab and pick "Compact Middle Packages"


S
Shreyash Choudhary

Just simply uncheck flatten modules, flatten package on right-click on PACKAGE drop-down.


J
Júlia Polbach

As @Shreyash Choudhary said, uncheck Flatten Package in Project settings worked for me on v. 2021.3.2.

IntelliJ example