Como mostrar todos os pais e subclasses de uma classe no IntelliJ IDEA?

151

Quando estou editando uma classe Java no Eclipse, quando meu cursor está sobre uma variável de classe, posso fazer Ctrl+ Tpara exibir um pop-up que mostra todos os seus pais e subclasses. Qual é o equivalente no IntelliJ?

Exemplo:

Use|r user = new User();

O cachimbo é o meu cursor.

Deslizar
fonte

Respostas:

217

Navegue | Digite Hierarchy Ctrl + Hmostrará informações semelhantes, no entanto no Painel. Você pode flutuar e desafixar o painel para que ele apareça na posição de exibição fixa somente quando você usa o atalho do teclado.

CrazyCoder
fonte
1
Sou bastante novo no IntelliJ e descobri que é muito melhor ter o atalho "Ocultar janela de ferramenta ativa" mapeado para <Escape> (em vez do atalho "Escape"), que por padrão é mapeado para <Shift + Escape> . Até agora, me pareceu muito mais natural ao fechar "janelas flutuantes" (hierarquia de tipos incluída).
perfil completo de Eyal Roth
2
Mais uma coisa - isso ainda não se comporta como a hierarquia rápida de tipos do Eclipse: No Eclipse, quando você passa o mouse sobre uma classe na hierarquia, pressionar <Enter> abrirá o arquivo de origem com a classe; no IntelliJ, você precisa usar o atalho "jump to source". Além disso, clicar novamente no editor não fará a janela desaparecer, ao contrário da janela "show implementations" (por exemplo), portanto, essa não é uma janela flutuante pura.
perfil completo de Eyal Roth
78

Em termos de comportamento, o equivalente do Eclipse Ctrl+ Tno IntelliJ IDEA é Ctrl+ Alt+B

dimitrisli
fonte
7
no macOS, isso é Option+ Cmd+B
Brad Cupit 14/02
22

Não é um usuário do IntelliJ IDEA, mas esta postagem no blog parece indicar que na versão 8.1.1 e além Ctrl+ Alt+ Uexibirá a "Hierarquia de classe rápida".

Daniel DiPaolo
fonte
Isso é muito bom, mas existe um mais leve? Este cria um diagrama UML? Só estou curioso para saber se os pais dele podem ir e vê-los rapidamente.
Glide
2
Parece que isso não é equivalente. Por exemplo, para a interface org.slf4j.Logger, ela mostra nada além de Logger, que é inútil. Ctrl-H parece ser melhor, pois mostra a árvore de classes de implementação (infelizmente, a árvore não é expandida). No entanto, o Eclipse mostra também todas as interfaces estendidas e suas classes de implementação. CTRL-ALT-B também mencionado abaixo não mostra árvores ou interfaces de implementação. Eu estou apenas começando com a Idea e estava esperando que tal função frequentemente utilizada substituirá a versão Eclipse, ou será pelo menos tão bom ...
petrsyn
1
13.1 Ultimate parece recuperá-lo e o atalho funciona.
Jason D
UML hierarquia de classes Ctrl + Alt + L funciona apenas no Ultimate Edition
Srujan Kumar Gulla
Ctrl + Alt + U nem sequer mostra todos os traços dos ancestrais. Somente pais diretos. Patético.
extasiada
16

Tente também CTRL+ SHIFT+ Aem caso de dúvida. O atalho para informações de atalho.

sorencito
fonte
16

A Intellij - em contraste com o Eclipse - distingue entre hierarquias de tipos e classes de implementação . Ainda estou indeciso se isso é uma coisa boa ou não (apenas mudei do Eclipse para o Intellij)

Em um Mac Intellij 14

  • Ctrl+ Hexibirá a hierarquia de tipos mostrando os subtipos e supertipos
  • Cmd+ Alt+ Bmostrará todas as classes e subclasses de implementação da interface / classe em que você está interessado
Stefan Haberl
fonte
CTRL + ALT + B não só fazem sentido com interfaces - que também mostra todas as subclasses de uma classe, por isso é facilmente visível que tipos herdam da classe que você está interesteed no.
nachteil
@nachteil thanks. não sabia disso. Eu mudei a descrição de cmd + alt + b
Stefan Haberl
Sim - Ctrl + H é a resposta correta Ctrl + Alt + B is not exatamente Ctrl + T de eclipse
prash
12

No IntelliJ IDEA 12, é Navegar> Hierarquia de tipos ( Ctrl+ Hpor padrão).

thSoft
fonte
6

Para usuários de Mac que vêm aqui, este é o atalho para o IntelliJ 14.1.4:

+ Hpor padrão.

mkobit
fonte
4

Para usuários de Mac , o atalho é

^(controle) + h

Zia
fonte
3

No IntelliJ 13, é Navegar> Implementações ou CMD+ ALT+ Bpor padrão. Obviamente, esse atalho pode ser substituído em suas preferências do Keymap.

Cody A. Ray
fonte
2

Não conheço versões anteriores, mas no IntelliJ versão 13 você pode acessar suas preferências do Keymap, procurar "Implementações" e vincular isso ao Ctrl+ T. Funcionará muito parecido com o equivalente do Eclipse.

pohl
fonte
1

Enquanto o Eclipse inclui a hierarquia de tipos e a estrutura de classes (métodos, campos etc.) em uma única exibição, o IntelliJ divide-os: Além da exibição "(Hierarquia de tipos"CTRL + H(ou ALT+ 8) , a outra janela relevante do IntelliJ é chamada "Estrutura " e pode ser chamado via + (janela da ferramenta de estrutura) ou + (pop-up da estrutura).ALT7CTRLF12

(Não é uma resposta direta à pergunta exata postada, mas seria de esperar que outras pessoas do background do Eclipse cheguem aqui pesquisando a "hierarquia de tipos intellij", como eu fiz.)

Steve Chambers
fonte
1

Ctrl+U - vá para a classe base

Ctrl+Alt+B- chegou à implementação. Digite partes do nome da classe para restringir a lista

Ctrl+H - janela aberta da ferramenta de hierarquia de tipos

Ctrl+Alt+U - hierarquia de herança de classe / interface peek

Konstantin Spirin
fonte
1

Com o Eclipse, pressionar Ctrl+ Tem um tipo exibe seus subtipos e pressionar novamente Ctrl+ Texibe tão supertipos. E assim ... para isso é uma alternância.
Isso é realmente útil e também muito direto.

Infelizmente com o IntelliJ, a alternância entre os supertipos e os subtipos não possui nenhum atalho padrão. Então você terá que clicar nos ícones das janelas da hierarquia.
Se, como eu, você preferir os atalhos de teclado à opção "mover o cursor e clicar no mouse", recomendamos que você defina uma ligação para essas duas operações. Por exemplo Ctrl+ Down para subtipos e Ctrl+ Up para supertipos.

Onde você pode alterar a ligação ("Bas" significa "Down" e "Haut" significa "Up"): forçado

Observe que essas ligações são contextuais ao contexto "Outro" (o Eclipse tem um conceito semelhante o suficiente). 1) Dessa forma, insira Ctrl+ Tem um ArrayListtipo que produz:

Hierarquia padrão

2) Digite Ctrl+ Downfoca nos subtipos:

subtipos de foco

3) E Enter Ctrl+ Upfoca em supertipos:

supertipos de foco

Dessa maneira, acho melhor que o comportamento padrão, mas para ser sincero, mesmo com a adição desse atalho, o recurso IntelliJ não é tão bom quanto o Eclipse, que o atalho Ctrl+ Ttambém funciona nos métodos ...

davidxxx
fonte
0

Há uma exibição de hierarquia, como no Eclipse, consulte o menu Exibir / Ferramentas Windows / Hierarquia ou pressione Alt-8 ou F4.

Herberlin
fonte