Як показати всіх батьків та підкласи класу в IntelliJ IDEA?


151

Коли я редагую клас Java в Eclipse, коли мій курсор перебуває над змінною класу, я можу зробити Ctrl+, Tщоб з'явилося спливаюче вікно, яке показує всіх його батьків та підкласи. Який еквівалент в IntelliJ?

Приклад:

Use|r user = new User();

Труба - мій курсор.

Відповіді:


217

Навігація | Однак на панелі " ІєрархіяCtrl + H" відображатиметься аналогічна інформація. Ви можете плавати та відкручувати панель так, щоб вона відображалась у фіксованому положенні дисплея, лише коли ви користуєтесь комбінацією клавіш.


1
Я досить новачок у IntelliJ, і я з'ясував, що набагато краще мати ярлик "Сховати активне вікно інструментів", відображений на <Escape> (замість ярлика "Escape"), який за замовчуванням відображається на <Shift + Escape> . Поки мені це здавалося набагато природніше при закритті "плаваючих вікон" (включена ієрархія типу).
Ейал Рот

2
Ще одне - це все ще не так, як ієрархія швидкого типу Eclipse: у Eclipse, коли ви наведіть курсор на клас в ієрархії, натискання <Enter> відкриє вихідний файл із класом; в IntelliJ ви повинні використовувати ярлик "стрибок до джерела". Крім того, натиснення назад на редактор не змусить вікно зникнути, на відміну від вікна "показати реалізації" (наприклад), тому це не чисто плаваюче вікно.
Еял Рот


22

Не є користувачем IntelliJ IDEA, але ця публікація блогу, схоже, вказує на те, що у версії 8.1.1 і вище Ctrl+ Alt+ Uвідображатиметься "Ієрархія швидкого класу".


Це досить добре, але чи є більш легкий? Цей будує діаграму UML? Цікаво просто, якщо є швидке наведення, яке я можу побачити його батьків і перейти до них.
Glide

2
Здається, це не еквівалент. Наприклад, для інтерфейсу org.slf4j.Logger він показує не що інше, як Logger, який марний. Ctrl-H здається кращим, оскільки показує дерево класів впровадження (дерево, на жаль, не розширюється). Однак Eclipse показує також всі розширені інтерфейси та його класи реалізації. Також нижче згаданий CTRL-ALT-B не відображає дерева або інтерфейси реалізації. Я тільки починаю з Idea і очікував, що така часто використовувана функція замінить версію Eclipse або буде принаймні однаково хорошою ...
petrsyn

1
13.1 Здається, що Ultimate повертається назад, і ярлик працює.
Джейсон Д

Ієрархія класів UML Ctrl + Alt + U працює лише в Ultimate Edition
Srujan Kumar Gulla

Ctrl + Alt + U навіть не показує всіх рис предків. Тільки прямі батьки. Жалюгідний.
rapt

16

Також спробуйте CTRL+ SHIFT+ Aв разі будь - яких сумнівів. Короткий зріз для короткої інформації.


16

Intellij, на відміну від Eclipse, розрізняє ієрахії типів та класи впровадження . Я все ще не визначився, добре це чи ні (просто перейшов з Eclipse на Intellij сам)

На Mac Intellij 14

  • Ctrl+ Hвідобразить ієрархію типів, що показує вам під- та супертипи
  • Cmd+ Alt+ Bпокаже вам усі реалізаційні класи та підкласи інтерфейсу / класу, який вас цікавить

CTRL + ALT + B не має сенсу лише з інтерфейсами - він також показує всі підкласи класу, тому легко видно, які типи успадковуються від класу, який вам цікавий.
nachteil

@nachteil дякую. не знав цього. Я змінив опис cmd + alt + b
Стефан Хаберл

Так - Ctrl + H - правильна відповідь. Ctrl + Alt + B - не точно Ctrl + T затемнення
праш

12

У IntelliJ IDEA 12 це Navigate> Type Hierarchy ( Ctrl+ Hза замовчуванням).


6

Для користувачів Mac, які приїжджають сюди, це ярлик для IntelliJ 14.1.4:

+ Hза замовчуванням


4

Для користувачів Mac цей ярлик є

^(контроль) + h


3

У IntelliJ 13 за замовчуванням це Navigate> Implementations або CMD+ ALT+ B. Звичайно, цей ярлик можна змінити у ваших налаштуваннях Keymap.


2

Я не знаю про попередні версії, але у версії 13 IntelliJ ви можете зайти в свої налаштування Keymap, шукати "Впровадження" та прив'язати це до Ctrl+ T. Він буде працювати дуже як еквівалент Eclipse.


1

У той час як Eclipse включає ієрархію типів та структуру класів (методи, поля тощо) в одному огляді, IntelliJ розбиває їх: Окрім перегляду CTRL+ H(або ALT+ 8) "Ієрархія типу" , інше відповідне вікно IntelliJ називається "Структура" " і можна викликати через ALT+ 7(вікно інструменту структури) або CTRL+ F12(Структурне спливаюче вікно).

(Не прямий відповідь на точне запитання, окрім цього, але очікував би, що інші з фоном Eclipse можуть приїхати сюди з Google для "ієрархії типу Intellij", як я.)


1

Ctrl+U - перейти до базового класу

Ctrl+Alt+B- дійшов до реалізації. Введіть частини назви класу, щоб звузити список

Ctrl+H - вікно інструмента відкритого типу ієрархії

Ctrl+Alt+U - ієрархія успадкування класу / інтерфейсу


1

З Eclipse, натискання Ctrl+ Tна тип відображає його підтипи та натискання знову Ctrl+ Tвідображає такі супертипи. І так для ... це перемикання.
Це дуже корисно, а також дуже прямо.

На жаль, в IntelliJ для перемикання між супертипами та підтипами немає ярлика за замовчуванням. Тож вам доведеться натискати на іконки вікон ієрархії.
Якщо вам подобається, що ви віддаєте перевагу комбінації клавіш на клавіші "перемістити курсор і натисніть на мишу", я рекомендую встановити прив'язку для цих двох операцій. Наприклад Ctrl+ Down для підтипів та Ctrl+ Up для супертипів.

Де ви можете змінити прив'язку ("Bas" означає "вниз", а "Haut" означає "вгору"): торги

Зауважте, що ці прив'язки є контекстуальними контексту "Інше" (Eclipse має достатньо подібне поняття). 1) Таким чином, введіть Ctrl+ Tна ArrayListтип виробляє:

Ієрархія за замовчуванням

2) Введіть Ctrl+ Downфокуси на підтипи:

підтипи фокус

3) І Enter Ctrl+ Upзосереджується на супертипах:

супертипи фокус

Таким чином, я вважаю, що це краще, ніж поведінка за замовчуванням, але, якщо чесно, навіть при додаванні цього ярлика, функція IntelliJ не настільки хороша, як Eclipse, котра ярлик Ctrl+ Tтакож працює на методах ...


0

Існує перегляд ієрархії, як у Eclipse, перегляньте меню Перегляд / Інструмент Windows / Ієрархія або натисніть Alt-8 або F4.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.