IntelliJ IDEA w akcji – Kilka przydatnych funkcjonalności IDEA

IDEA posiada bardzo wiele funkcjonalności – w tym rozdziale zaprezentuję kilka z tych, które prawdopodobnie przydadzą Ci się w mniejszym bądź większym stopniu już na początku Twojej przygody z programowaniem.

Warto także, abyś przejrzał menu główne IDEA oraz menu kontekstowe, które otwierają się po kliknięciu prawym przyciskiem myszy w edytorze kodu oraz po kliknięciu (także prawym przyciskiem) na nazwę pliku bądź katalogu w panelu ze strukturą projektu – na pewno znajdziesz tam funkcjonalności, które Ci się przydadzą.

Otwieranie istniejącego projektu

Jeżeli masz projekt, którego wcześniej nie otwierałeś w IDEI, możesz otworzyć go wybierając z menu FileOpen..., a następnie wskazać katalog z projektem na swoim dysku. IDEA zaimportuje go, tworząc w katalogu z projektem swoje pliki konfiguracyjne, a Ty będziesz mógł od tej pory pracować nad tym projektem w IDEI.

Jeżeli podczas instalacji IDEI zaznaczyłeś opcję dodania do menu Open folder as IntelliJ IDEA Community Edition Project, to możesz także otworzyć projekt bezpośrednio w IDEI klikając prawym przyciskiem myszy na folder na Twoim dysku i wybierając tę pozycję:

Otwieranie katalogu jako projekt w IntelliJ IDEA
Otwieranie katalogu jako projekt w IntelliJ IDEA

Ostatnio otwarte projekty

IDEA zachowuje listę ostatnich projektów, nad którymi pracowałeś. Możesz szybko otworzyć jeden z tych projektów, wybierając z menu FileOpen Recent:

Otwieranie projektów, nad którymi niedawno pracowaliśmy
Otwieranie projektów, nad którymi niedawno pracowaliśmy

Otwieranie kilku projektów

Jeżeli masz aktualnie otwarty projekt w IDEI i spróbujesz otworzyć kolejny, IDEA zapyta Cię, czy chcesz zastąpić aktualnie otwarty projekt, czy otworzyć nowe, osobne okno IDEA:

Okno, które wyświetla IDEA, gdy otwieramy kolejny projekt
Okno, które wyświetla IDEA, gdy otwieramy kolejny projekt

Jeżeli klikniesz This Window, aktualnie otwarty projekt zostanie zamknięty, a w jego miejsce otwarty zostanie ten, który chciałeś otworzyć. Kliknięcie New Window powoduje, że otworzy się nowe okno z IDEĄ.

Ścieżka do pliku i otwieranie eksploratora Windows

Klikając prawym przyciskiem myszy na folder lub plik w panelu ze strukturą projektu pojawia się menu z wieloma przydatnymi funkcjonalnościami – jedna z nich, której często używam, to Show in Explorer. Otwiera ona okno eksploratora Windows z katalogiem, w którym znajduje się plik bądź katalog, który kliknąłeś.

Inną przydatną funkcjonalnością jest kopiowanie ścieżki do pliku. Jeżeli w panelu ze strukturą projektu klikniesz lewym przyciskiem myszki na pewien plik lub katalog, a następnie skorzystasz ze skrótu Ctrl + Shift + c, to ścieżka do tego pliku bądź katalogu zostanie wstawiona do schowka, tzn. będziesz mógł ją wkleić do dowolnego edytora lub innego miejsca za pomocą skrótu Ctrl + v.

Podpowiadanie nazw

Podpowiadanie nazw to jedna z najczęściej używanych funkcjonalności oferowanych przez narzędzia takie jak IDEA.

Gdy piszesz kod, IDEA analizuje go i wie z jakich klas składa się Twój projekt, jakie te klasy mają metody i pola oraz zależności do innych klas. Dzięki temu, IDEA jest w stanie podpowiadać Ci nazwy różnych elementów, z których składa się Twój kod źródłowy (czyli klas, pól, metod itd.).

Gdy zaczynasz pisać nazwę metody, którą chcesz wywołać, lub pola, do którego chcesz się odnieść, IDEA na bieżąco prezentuje Ci listę, z której możesz wybrać obiekt, którego nazwę IDEA dopasowała do wpisywanego przez Ciebie ciągu znaków – możesz strzałkami góra/dół przeglądać tę listę i zatwierdzić Enterem wybraną nazwę, lub wcisnąć Escape, aby IDEA zamknęła listę z podpowiedziami:

IDEA podpowiada metody, które pasują do wpisanego wzorca, które można wywołać na rzecz danego obiektu
IDEA podpowiada metody, które pasują do wpisanego wzorca, które można wywołać na rzecz danego obiektu

IDEA podpowiada także metody, które możesz wywołać na rzecz pewnego obiektu, jak widać na powyższym obrazku – na rzecz obiektu imie typu String chcę wywołać metodę, której nazwa zaczyna się od liter to – IDEA zaprezentowała mi listę metod klasy String, które dopasowała do tego ciągu znaków.

Przeglądanie dokumentacji w edytorze kodu

IDEA wyświetla dokumentację znanych przez nią klas gdy najedziesz na jej nazwę kursorem myszy w edytorze kodu – na poniższym obrazku widać dokumentację klasy String:

Podpowiedź, w której IDEA wyświetla dokumentacje znanych jej klas
Podpowiedź, w której IDEA wyświetla dokumentacje znanych jej klas

Dokumentację możesz także wyświetlić za pomocą skrótu klawiaturowego Ctrl + Q, gdy w kodzie źródłowym znajdujesz się na elemencie (np. na typie z Biblioteki Standardowej), do dokumentacji którego IDEA ma dostęp.

Przeglądanie źródeł klas

Bardzo przydatną funkcjonalnością jest przechodzenie do definicji klasy, metody, bądź pola. Jeżeli wciśniesz i przytrzymasz klawisz Ctrl, a następnie klikniesz na nazwę klasy, pola, bądź metody w edytorze kodu, IDEA przeniesie Cię do miejsca w kodzie źródłowym (potencjalnie w innym pliku), w którym ta klasa/pole/metoda została zdefiniowana. Tę samą akcję możesz wykonać korzystając z innego skrótu: Ctrl + b. Ten skrót nie wymaga użycia myszki.

Find Usages

Find Usages to szukanie w kodzie miejsc, które używają danej klasy, pola, bądź metody.

Aby skorzystać z Find Usages, kliknij prawym przyciskiem myszy w obszarze edytora kodu, gdzie znajduje się pewna klasa, metoda, bądź pole. Z menu, które się pojawi, wybierz „Find Usages”. Możesz też skorzystać ze skrótu Alt + F7:

Funkcjonalność Find Usages w menu po kliknięciu prawym przyciskiem myszki w edytorze kodu
Funkcjonalność Find Usages w menu po kliknięciu prawym przyciskiem myszki w edytorze kodu

Na dole okna IDEI pokaże się mały panel z listą wszystkich znalezionych miejsc:

Wynik działania funkcjonalności Find Usages
Wynik działania funkcjonalności Find Usages

Możesz dwukrotnie kliknąć lewym przyciskiem myszki na znalezione miejsce, a IDEA przeniesie Cię do niego w edytorze kodu.

Generowanie kodu

IDEA pomoże Ci wygenerować fragmenty kodu źródłowego, który często się powtarza. Dla przykładu, możesz wygenerować settery i gettery dla pól lub zarys metody, którą chcesz nadpisać z klasy nadrzędnej za pomocą @Override.

Do klasy WitajIdea naszego projektu dodałem następujące pole:

package com.kursjava;

import java.util.Scanner;

public class WitajIdea {
  private int pewnePole;

  public static void main(String[] args) {
// pozostała część kodu została pominięta

Na końcu pliku, przed końcową klamrą }, nacisnąłem prawy przycisk myszki w edytorze kodu i z menu wybrałem Generate...:

Funkcjonalność Generate w menu kontekstowym po kliknięciu prawym przyciskiem myszki w edytorze kodu
Funkcjonalność Generate w menu kontekstowym po kliknięciu prawym przyciskiem myszki w edytorze kodu

W wyniku wybrania tej pozycji z menu (możesz też skorzystać ze skrótu Alt + Insert) pojawia się mały panel z listą możliwych do wygenerowania fragmentów kodu:

Lista z elementami kodu źródłowego, które IDEA może dla nas wygenerować
Lista z elementami kodu źródłowego, które IDEA może dla nas wygenerować

Wybrałem Getter and Setter – w kolejnym oknie, które się pojawi, IDEA wyświetla listę pól, które można wybrać, aby wygenerować dla nich gettery i settery. Po kliknięciu OK w tym oknie, IDEA wstawi następujące metody do klasy WitajIdea:

public int getPewnePole() {
  return pewnePole;
}

public void setPewnePole(int pewnePole) {
  this.pewnePole = pewnePole;
}

Poza getterami i setterami możesz także wygenerować np. sygnaturę metody, którą chcesz nadpisać. Jeżeli napiszesz w edytorze kodu adnotację @Override, IDEA wyświetli listę z podpowiedziami metod, które możesz nadpisać z klasy nadrzędnej (w naszym przypadku klasą nadrzędną jest klasa Object):

Podpowiedź, jaką wyświetla IDEA, gdy chcemy nadpisać metodę z klasy bazowej
Podpowiedź, jaką wyświetla IDEA, gdy chcemy nadpisać metodę z klasy bazowej

Możesz strzałkami góra/dół wybrać z listy odpowiednią metodę i zatwierdzić Enterem, lub wybrać drugą pozycję z tej listy (Override/Implement methods...), co spowoduje wyświetlenie małego okna z listą wszystkich metod:

Lista metod, które możemy nadpisać z klasy bazowej
Lista metod, które możemy nadpisać z klasy bazowej

Wybrałem z listy metodę toString, a IDEA wygenerowała następujący fragment kodu:

@Override
public String toString() {
  return super.toString();
}

Ta druga opcja przydaje się, gdy klasa nadrzędna ma wiele metod, które możesz nadpisać – łatwiej znaleźć ją w oknie, które się wtedy pojawia.

Uzupełnianie kodu

IDEA posiada przydatny skrót klawiaturowy Ctrl + Shift + Enter, który powoduje dokończenie wpisywanej instrukcji. To, jaki będzie efekt użycia tego skrótu, zależy od tego, co IDEA ma dla nas uzupełnić – wypróbuj ten skrót na różnych fragmentach kodu.

Dla przykładu, jeżeli zaczniemy pisać pętlę for:

for

i skorzystamy ze skrótu Ctrl + Shift + Enter, IDEA uzupełni nasz kod źródłowy w następujący sposób:

for () {
}

Jak widzisz, IDEA dodała zwykłe nawiasy oraz nawiasy klamrowe.

Kolejny przykład – wpisaną instrukcję try:

try

IDEA uzupełni dodając klamry:

try {
  
}

Gdy dopiszemy sekcję catch:

try {

} catch

i ponownie skorzystamy z opisywanego skrótu, to IDEA uzupełni kod w następujący sposób:

try {

} catch () {
}

Kod źródłowy klasy WitajIdea

W kolejnych rozdziałach będziemy pracować nad innymi projektami. Pełny kod źródłowy klasy WitajIdea jest następujący:

package com.kursjava;

import java.util.Scanner;

public class WitajIdea {
  private int pewnePole;

  public static void main(String[] args) {
    String imie;

    // TODO sprawdzic, czy nie ma wiecej argumentow
    if (args.length == 1) {
      imie = args[0];
    } else {
      System.out.println("Podaj imie:");
      imie = getString();
    }

    System.out.println(String.format("Witaj %s!", imie));
  }

  public static String getString() {
    return new Scanner(System.in).next();
  }

  public int getPewnePole() {
    return pewnePole;
  }

  public void setPewnePole(int pewnePole) {
    this.pewnePole = pewnePole;
  }

  @Override
  public String toString() {
    return super.toString();
  }
}

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Nie musisz podawać swojego imienia, e-mailu, ani strony www, aby opublikować komentarz. Komentarze muszą zostać zatwierdzone, aby były widoczne na stronie.