W tej części artykułu „Eclipse w praktyce” dowiemy się o skrótach klawiaturowych, pozwalających na łatwiejszą nawigację po klasach i edytorach. Będzie też mowa o zaawansowanych możliwościach dokonywania refactoringu kodu, wspieranych przez Eclipse.
Uwaga: niektóre przykłady skrótów klawiaturowych wymagają wprowadzenia zmian w konfiguracji Eclipse.
1. Nawigacja
F3 – open declaration
Ctrl + click the hyperlinked variable or class
Otwiera deklarację zmiennej lub klasy.
Ctrl Q – where did i Quit editing
Przenosi nas w miejsce, gdzie ostatni raz coś zmienialiśmy.
Ctrl E – go to opened Editor
Gdy mamy otwartych wiele edytorów, możemy się między nimi łatwo przełączać. Ctrl E i wpisujemy początek nazwy żądanego pliku.
Ctrl PgUp(PgDown) – go to previous(next) opened editor
Podobnie jak wyżej, ale tylko przełącza do poprzedniego/następnego edytora.
Ctrl F6 – toggle opened editors
Działanie podobne, ale bardziej przypomina Alt Tab w Windows.
Alt ‹ , Alt › – hop back and forth through the files you have visited
Jak w opisie. Przeskakujemy między edytowanymi plikami, zgodnie z historią edytowania. Dobre, gdy pracuje się na 2-3 plikach równolegle.
Ctrl Alt H – open call Hierarchy
Pozwala na śledzenie łańcucha wywołań danej metody. Operacja dostępna jest w dwóch kierunkach: podążanie wg metod wywołujących daną metodę oraz schodzenie po metodach wywoływanych przez daną metodę.
Ctrl M – Maximize window
Maksymalizuje okno edytora (lub dowolne inne).
Ctrl Shift L – List all available keyboard shortcuts
Rozwija listę skrótów klawiszowych. Niezbyt przydatne, bo lista jest za długa.
Ctrl F7 – toggle views
Ctrl F8 – toggle perspectives
F12 – return to the editor
F2 – open javadoc
Otwiera popup z podglądem całego javadoca dla danego elementu.
Shift + Najazd kursorem na klasę/metodę
Otwiera popup z podglądem całej klasy/metody.
Do prezentacji refactoringu posłuży następujący fragment kodu:
public static void main(String[] args) {
System.out.println(„hello world”);
System.out.println(„hello world”);
}
Zaznaczamy pierwszy fragment „hello world” i wciskamy Shift Alt L.
Eclipse pyta się o nazwę nowo utworzonej zmiennej – podajemy hw.
Program przypisuje zmiennej zaznaczoną wartość i wstawia ją we wszystkich miejscach, gdzie pojawia się wartość.
Zaznaczony fragment może być oczywiście większy, o ile tylko da się go przypisać do zmiennej.
public static void main(String[] args) {
String hw = „hello world”;
System.out.println(hw);
System.out.println(hw);
}
Shift Alt E › Extract constant
Zaznaczamy pierwszy fragment „hello world” i wciskamy Shift Alt E.
Z rozwiniętego menu wybieramy „Extract constant”.
Eclipse automatycznie podaje proponowaną nazwę stałej.
Wybieramy widoczność zmiennej, np. public.
public static final String HELLO_WORLD = „hello world”;
public static void main(String[] args) {
String hw = HELLO_WORLD;
System.out.println(hw);
System.out.println(hw);
}
Shift Alt M – extract Method
Zaznaczamy System.out.println(hw) i wciskamy Shift Alt M.
Podajemy nazwę nowo tworzonej metody printHW.
Eclipse tworzy metodę z odpowiednimi parametrami, wypełnioną zaznaczonym kodem i podmienia podświetlony kod wywołaniem metody.
public static final String HELLO_WORLD = „hello world”;
public static void main(String[] args) {
String hw = HELLO_WORLD;
printHW(hw);
printHW(hw);
}
private static void printHW(String hw) {
System.out.println(hw);
}
Shift Alt I – Inline method / variable
Działa odwrotnie do Shift Alt L.
Ustawiamy kursor na zmiennej hw (nie trzeba jej zaznaczać).
Wciskamy Shift Alt I, potwierdzamy pytanie Eclipsa.
Eclipse podmienia wystąpienia zmiennej hw w danej metodzie na przypisaną jej wcześniej wartość.
public static final String HELLO_WORLD = „hello world”;
public static void main(String[] args) {
printHW(HELLO_WORLD);
printHW(HELLO_WORLD);
}
private static void printHW(String hw) {
System.out.println(hw);
}
Podobnie dzieje się z metodami.
Klikamy na pierwszym wywołaniu printHW i wciskamy Shift Alt I.
Eclipse pyta się tym razem, czy rozwinąć metodę w jednym miejscu, czy we wszystkich, w których jest wywoływana.
Zaznaczamy „Only the selected invocation”.
public static final String HELLO_WORLD = „hello world”;
public static void main(String[] args) {
System.out.println(HELLO_WORLD);
printHW(HELLO_WORLD);
}
private static void printHW(String hw) {
System.out.println(hw);
}
Shift Alt E › Convert Local Variable to Field
public class TestClass {
public void test() {
String str = „test”;
}
}
Ustawiamy kursor na zmiennej str i wciskamy Shift Alt E › Convert Local Variable to Field. Podajemy nazwę nowego pola fieldStr. Możemy też wybrać miejsce inicjalizacji pola; dla „Current metod” wynik będzie następujący:
public class TestClass {
private String fieldStr;
public void test() {
fieldStr = „test”;
}
}
Autor: Dominik Kapusta
Tagi: Eclipse
