Jak wyświetlić wszystkich rodziców i podklasy klasy w IntelliJ IDEA?


151

Kiedy edytuję klasę Java w Eclipse, kiedy mój kursor znajduje się nad zmienną klasy, mogę zrobić Ctrl+, Taby mieć wyskakujące okienko, które pokazuje wszystkie jej elementy nadrzędne i podklasy. Jaki jest odpowiednik w IntelliJ?

Przykład:

Use|r user = new User();

Rura jest moim kursorem.

Odpowiedzi:


217

Nawiguj | Type Hierarchy Ctrl + Hpokaże podobne informacje, jednak w panelu. Można Float i Odepnij panel tak, że pojawia się na stałej pozycji wyświetlacza tylko w przypadku korzystania ze skrótu klawiaturowego.


1
Jestem całkiem nowy w IntelliJ i odkryłem, że znacznie lepiej jest mieć skrót „Ukryj aktywne okno narzędzia” przypisany do skrótu <Escape> (zamiast skrótu „Escape”), który domyślnie jest zamapowany na <Shift + Escape> . Jak dotąd wydawało mi się to bardziej naturalne podczas zamykania „pływających okien” (w tym hierarchii typów).
Eyal Roth

2
I jeszcze jedno - to nadal nie zachowuje się tak samo jak hierarchia szybkich typów Eclipse: w Eclipse, gdy najedziesz kursorem na klasę w hierarchii, naciśnięcie klawisza <Enter> otworzy plik źródłowy z tą klasą; w IntelliJ musisz użyć skrótu „skok do źródła”. Ponadto, ponowne kliknięcie w edytorze nie spowoduje zniknięcia okna, w przeciwieństwie do okna „pokaż implementacje” (na przykład), więc nie jest to czyste okno pływające.
Eyal Roth


22

Nie jest użytkownikiem IntelliJ IDEA, ale ten post na blogu wydaje się wskazywać, że w wersji 8.1.1 i nowszych Ctrl+ Alt+ Uwyświetli „Szybką Hierarchię Klas”.


To całkiem nieźle, ale czy jest bardziej lekki? Ten tworzy diagram UML? Ciekawe, czy jest szybki kursor, który mogę zobaczyć jego rodziców i przejść do nich.
Glide

2
Wydaje się, że to nie jest odpowiednik. Na przykład dla interfejsu org.slf4j.Logger nie pokazuje nic więcej niż Logger, który jest bezużyteczny. Ctrl-H wydaje się być lepszy, ponieważ pokazuje drzewo klas implementujących (drzewo niestety nie jest rozwinięte). Jednak Eclipse pokazuje również wszystkie rozszerzające interfejsy i ich klasy implementujące. Również poniżej wspomniane CTRL-ALT-B nie pokazuje drzewa ani interfejsów implementujących. Właśnie zaczynam od Idei i spodziewałem się, że taka często używana funkcja
wyprze

1
Wydaje się, że 13.1 Ultimate ma go z powrotem, a skrót działa.
Jason D

Hierarchia klas UML Ctrl + Alt + U działa tylko w Ultimate Edition
Srujan Kumar Gulla

Ctrl + Alt + U nie pokazuje nawet wszystkich cech przodków. Tylko bezpośredni rodzice. Żałosne.
zachwycony

16

W razie wątpliwości spróbuj także CTRL+ SHIFT+ A. Skrót do informacji o skrótach.


16

Intellij - w przeciwieństwie do Eclipse - rozróżnia hierarchie typów i klasy implementacji . Nadal jestem niezdecydowany, czy to dobrze, czy nie (właśnie przeniosłem się z Eclipse na Intellij)

Na komputerze Mac Intellij 14

  • Ctrl+ Hwyświetli hierarchię typów pokazującą pod- i nadtypy
  • Cmd+ Alt+ Bpokaże wszystkie klasy implementujące i podklasy interfejsu / klasy, którą jesteś zainteresowany

CTRL + ALT + B ma sens nie tylko w przypadku interfejsów - pokazuje również wszystkie podklasy klasy, więc łatwo widać, które typy dziedziczą po klasie, którą jesteś zainteresowany.
nachteil

@nachteil thanks. nie wiedziałem o tym. Zmieniłem opis cmd + alt + b
Stefan Haberl

Tak - Ctrl + H to poprawna odpowiedź Ctrl + Alt + B nie jest dokładnie Ctrl + T zaćmienia
prash

12

W IntelliJ IDEA 12 jest to Nawigacja> Hierarchia typów ( domyślnie Ctrl+ H).


6

Dla użytkowników komputerów Mac, którzy tu przychodzą, jest to skrót do IntelliJ 14.1.4:

+ Hdomyślnie.


4

W przypadku użytkowników komputerów Mac skrót to

^(kontrola) + h


3

W IntelliJ 13 jest to domyślnie Navigate> Implementations lub CMD+ ALT+ B. Oczywiście ten skrót można zastąpić w preferencjach mapy klawiszy.


2

Nie wiem o wcześniejszych wersjach, ale w IntelliJ w wersji 13 możesz przejść do preferencji mapy klawiszy, wyszukać „Implementacje” i powiązać to z Ctrl+ T. Będzie działać bardzo podobnie do odpowiednika Eclipse.


1

Podczas gdy Eclipse zawiera hierarchię typów i strukturę klas (metody, pola itp.) W jednym widoku, IntelliJ dzieli je na następujące elementy: Oprócz widoku CTRL+ H(lub ALT+ 8) „Hierarchia typów” , inne odpowiednie okno IntelliJ nosi nazwę „Struktura ” i można go wywołać za pomocą ALT+ 7(okno narzędzia struktury) lub CTRL+ F12(wyskakujące okienko struktury).

(Nie jest to bezpośrednia odpowiedź na zadane pytanie, ale można by się spodziewać, że inne osoby z tła Eclipse mogą przybyć tutaj po wyszukaniu w Google „hierarchii typów intellij”, tak jak ja).


1

Ctrl+U - przejdź do klasy bazowej

Ctrl+Alt+B- dostałem się do realizacji. Wpisz części nazwy klasy, aby zawęzić listę

Ctrl+H - okno narzędzia hierarchii typów otwartych

Ctrl+Alt+U - hierarchia dziedziczenia klas / interfejsów wglądu


1

W przypadku Eclipse, naciśnięcie Ctrl+ Tna typie wyświetla jego podtypy, a ponowne naciśnięcie Ctrl+ Twyświetla więc nadtypy. A więc dla ... to jest przełącznik.
To jest naprawdę pomocne i bardzo proste.

Niestety w przypadku IntelliJ, przełączanie między nadtypami i podtypami nie ma żadnego domyślnego skrótu. Będziesz więc musiał kliknąć ikony okien hierarchii.
Jeśli tak jak ja wolisz skróty klawiaturowe do opcji „przesuń kursor i kliknij myszą”, zachęcam do ustawienia powiązania dla tych dwóch operacji. Na przykład Ctrl+ Down dla podtypów i Ctrl+Up dla nadtypów.

Gdzie możesz zmienić powiązanie („Bas” oznacza „Down”, a „Haut” oznacza „Up”): ofiarowana cena na licytacji

Zwróć uwagę, że te powiązania są kontekstowe z kontekstem „Inne” (Eclipse ma wystarczająco podobną koncepcję). 1) W ten sposób wpisanie Ctrl+ Tna ArrayListtypie daje:

Domyślna hierarchia

2) Enter Ctrl+ Downskupia się na podtypach:

skupiają się na podtypach

3) A Enter Ctrl+ Upskupia się na nadtypach:

supertypes skupiają się

W ten sposób uważam, że jest lepsze niż domyślne zachowanie, ale szczerze mówiąc, nawet przy dodawaniu tego skrótu funkcja IntelliJ nie jest tak dobra jak Eclipse, który Ctrl+ + Tdziała również na metodach ...


0

Jest widok hierarchii jak w Eclipse, spójrz na menu Widok / Narzędzia Okna / Hierarchia lub wciśnij Alt-8 lub F4.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.