Wygodne nawigowanie w projekcie z użyciem skrótów klawiszowych IntelliJ IDEA.

Jako programistki/ści podczas pracy bardzo dużo czasu poświęcamy na przeglądanie kodu. Sprawne poruszanie się w IDE zwiększa efektywność pracy.
Znając właściwe skróty klawiszowe możemy skupić się na zrozumieniu kodu zamiast rozpraszać się na samym procesie nawigowania po kodzie. Przedstawię kilka pomocnych skrótów w IntelliJ IDEA, które ułatwiają poruszanie się po kodzie.

Poniższe skróty klawiszowe działają na Ubuntu. W innych systemach mogą być używane inne skróty. Przy każdym skrócie podaję nazwę po której można sprawdzić jaki skrót klawiszowy jest ustawiony w Twoim IntelliJ. Wystarczy wejść w menu File->Settings->Keymap i tam wyszukać po nazwie.

Sprawdzanie skrótów klawiszowych po nazwach

1. Szukanie po nazwie klasy/pliku

Nazwa: Go to File...
Skrót klawiszowy: CTRL+SHIFT+N

Warto tutaj wspomnieć, że szukając np. klasy o nazwie SpringApplicationAdminJmxAutoConfiguration możemy fragmenty słów, z których składa się nazwa klasy.
Możemy np. wpisać SpriAppConf.

Szukanie pliku po fragmencie nazwy

2. Przechodzenie w głąb kodu

Nazwa: Go to Declaration or Usages
Skrót klawiszowy: CTRL+B lub CTRL+lewy przycisk myszy

Nazwa: Go to Implementation(s).
Skrót klawiszowy: CTRL+ALT+B lub CTRL+ALT+lewy przycisk myszy

Opcje te bardzo się przydają do przechodzenia w głąb wywołań w kodzie.
Tutaj przyznam się szczerze, że częściej używam skrótu z myszką.
Używając skrótu Go to Declaration or Usages możemy być przekierowani do interfejsu.
Dlatego pewnie częściej będziecie używać opcji Go to Implementation(s), która przekierowuje od razu do implementacji.

Przechodzenie w głąb wywołań

3. Powrót do miejsca z którego przeskoczyliśmy

Nazwa: Back
Skrót klawiszowy: ALT+SHIFT+strzałka w lewo

Nazwa: Forward
Skrót klawiszowy: ALT+SHIFT+strzałka w prawo

Ten skrót bardzo często używam w połączeniu, ze skrótami opisanymi w poprzednim punkcie.
Umożliwia szybki powrót do miejsca, z którego przeskoczyliśmy.
Doskonale pamiętam, jak zwiększył się komfort pracy, kiedy poznałem ten skrót klawiszowy.

Przechodzenie w głąb wywołań

4. Przejście do niedawno odwiedzanych plików

Nazwa: Recent Files
Skrót klawiszowy: CTRL+E

Skrót się przydaje, zwłaszcza gdy pozamykaliśmy zakładki, do których chcemy wrócić.
Można przefiltrować widok, aby pokazywał tylko zmodyfikowane pliki.

Ostatnio otwarte pliki

Nazwa: Recent Locations
Skrót klawiszowy: ALT+SHIFT+E
Musiałem ustawić ten skrót, ponieważ na Ubuntu nie działa standardowy CTRL+SHIFT+E

Ten widok pokazuje ostatnie miejsca w kodzie, gdzie staliśmy kursorem.
Można przefiltrować widok, aby pokazywał tylko zmodyfikowane pliki.

Ostatnie miejsca w kodzie

5. Przechodzenie pomiędzy zmianami wprowadzonymi w pliku

Nazwa: Previous Change lub Next Change
Skrót klawiszowy: ALT+SHIFT+strzałka w górę lub ALT+SHIFT+strzałka w dół
Musiałem ustawić ten skrót, ponieważ na Ubuntu nie działa standardowy CTRL+ALT+SHIFT+strzałka.

Przechodzenie pomiędzy zmianami, które wprowadziliśmy w pliku.

Przechodzenie pomiędzy zmienionymi liniami w kodzie

6. Przeskok pomiędzy metodami w klasie

Nazwa: Previous Method lub Next Method
Skrót klawiszowy: ALT+strzałka w górę lub ALT+strzałka w dół

Nawigowanie pomiędzy metodami zdefiniowanymi w klasie.

Przechodzenie pomiędzy metodami w klasie

7. Podgląd metod zdefiniowanych w klasie

Nazwa: Structure
Skrót klawiszowy: ALT+7

Struktura klasy w bocznym oknie

Nazwa: File Structure Skrót klawiszowy: CTRL+F12

Struktura klasy w oknie pop-up

Powyższe polecenia pokazują okno ze strukturą klasy - w tym listę metod. Jest to jeszcze łatwiejszy sposób nawigacji pomiędzy metodami. Pierwsze polecenie pokazuje okno w bocznym pasku, a drugie polecenie pokazuje okno jako pop-up.
Warto też zwrócić uwagę na opcję, która pokazuje również metody z klasy, po której przeglądana klasa dziedziczy.

8. Wyszukiwanie tekstu w plikach

Nazwa: Find in Files…
Skrót klawiszowy: CTRL+SHIFT+F

Polecenie umożliwia wyszukiwanie fragmentu tekstu w plikach projektu.
Wyszukiwanie można ograniczyć do konkretnego modułu lub nawet pakietu, jeżeli przed naciśnięciem skrótu będzie zaznaczony w bocznym pasku.
Możemy też przeszukiwać pliki pasujące do konkretnego patternu np. tylko z rozszerzeniem *.java lub włączyć opcje wyszukiwania z uwzględnieniem wielkości liter.

Wyszukiwanie fragmentu tekstu w plikach projektu

9. Przejście do konkretnej linii w pliku

Nazwa: Go to Line:Column…
Skrót klawiszowy: CTRL+G

Skrót bardzo przydatny, zwłaszcza w przypadku, gdy analizujemy jakiś stacktrace, w którym wskazana jest nazwa klasy oraz numer linii, który spowodował rzucenie wyjątku.

Przejście do linii o konkretnym numerze

10. Jak nauczyć się skrótów?

Polecę Wam dwie metody, które mi pomogły nauczyć się i zapamiętać nowe skróty klawiszowe.

  1. Zapisz odręcznie na kartce dużymi literami skróty, których chcesz się nauczyć i postaw kartkę obok monitora, tak aby była cały czas widoczna.

  2. Zainstaluj plugin, Key Promoter X. Pokazuje on w prawym dolnym rogu podpowiedzi skrótów klawiszowych, jeżeli wykonamy jakąś operację myszką.

    Plugin Key Promoter X


https://www.jetbrains.com/help/idea/navigating-through-the-source-code.html