Como expandir a cadeia de pacotes dobrada no Intellij IDEA?

127

O Intellij IDEA encadeará pacotes automaticamente se os intermediários estiverem vazios. É um bom recurso em geral. No entanto, às vezes você não deseja que elas sejam encadeadas, especialmente quando você está no meio da criação de novas estruturas de pacotes para o seu novo projeto. Talvez eu tenha encontrado a configuração para desativar esse recurso para um determinado pacote, mas não consigo encontrá-lo agora. Então, alguém sabe como controlar esse recurso? Muito obrigado.

BTW, no caso de você precisar de esclarecimentos, o que quero dizer com encadeamento de pacotes é o seguinte. Suponha que você tenha esta estrutura de pacote:

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

Como realmente não há mais nada dentro das pastas intermediárias, o Intellij IDEA exibirá automaticamente como

com.company.project.some.feature

no explorador de projetos, que parece que os pacotes estão encadeados.

JBT
fonte
9
A resposta abaixo tem a resposta real, mas pensei em concordar com uma coisa que aprendi recentemente. Se você reduziu as estruturas de pacotes, se adicionar um novo pacote com o mesmo espaço para nome raiz, o intellij será inteligente o suficiente para expandir as coisas. ou seja, se eu tiver com.foo.devshorts.modele depois adiciono, com.foo.devshorts.controllersele se expandirá com.foo.devshorts.
Devshorts
3
@ devshorts Essa é realmente uma razão importante pela qual eu perguntei. No seu exemplo, se eu quiser criar controllersapós a criação com.foo.devshorts.model, terei que prefixar controllercom com.foo.devshorts, o que é irritante.
JBT
Sim, eu me sinto da mesma maneira. Embora eu comecei a fazê-lo da maneira que sugeri, já que prefiro pacotes compactados com mais frequência do que não.
devshorts
6
JBT e @devshorts Uma maneira mais fácil - se você deseja manter a visualização de pacotes compactos - é usar a barra de navegação (Alt + Home). Abra-o, seta sobre (e para baixo) até o pacote pai desejado e crie um novo subpacote (ou classe prefixada). Outra pseudo solução alternativa, já que excluir é mais fácil do que digitar, é colocar o cursor no pacote longo (com.foo.devshorts.model no seu exemplo) na visualização do projeto e fazer uma "Referência de Cópia" (Ctrl + Alt + Shift + C, menu Editar> Referência de cópia ou clique com o botão direito do mouse no menu de contexto). Depois, quando você criar seu pacote, cole o pacote que você copiou e exclua conforme necessário.
Javaru

Respostas:

238

Desmarque a opção "Ocultar pacotes vazios do meio" no menu suspenso Configurações do projeto:

Ocultar pacotes vazios do meio

Daniel Kaplan
fonte
11
Como uma atualização, esta opção parece ser agora chamado Esconder Pacotes Média vazios
Stephane
4
No IntelliJ Ultimate versão 14.1.4. ainda é "Compact ..." no menu drop-down ferramenta (clicando as pequenas rodas dentadas seta para baixo na barra de menu exploradores do projeto)
Pytry
ok basta seguir números lidos na imagem para alcançar a opção
steveen zoleko
2
Eu acho que deve ser adicionado que, para chegar a esse menu, você clica com o botão direito do mouse na barra superior do "Projeto" (canto superior esquerdo na captura de tela).
Carcigenicate
6
Compact Middle PackagesNo Idea Ultimate 2018.02
J-Alex
17

Como outra solução de como criar outro arquivo no pacote intermediário:

Use a hierarquia expandida de pacotes na parte superior da janela, como mostrado abaixo Como mostrado abaixo

Khojiakbar
fonte