Szybka poprawka

Edytor Java oferuje poprawki dla problemów znalezionych podczas pisania kodu i po jego skompilowaniu. Aby zasygnalizować, że dla danego problemu lub ostrzeżenia dostępna jest propozycja poprawki, na pasku adnotacji edytora wyświetlana jest ikona żarówki.

Kliknięcie tej ikony lewym przyciskiem myszy lub naciśnięcie kombinacji klawiszy Ctrl+1 (Edycja > Szybka poprawka) spowoduje wywołanie propozycji poprawki dotyczącej problemu w pozycji kursora.
Zawsze po wybraniu szybkiej poprawki w oknie propozycji wyświetlany jest podgląd.

Niektóre wybrane szybkie poprawki mogą mieć również przypisane bezpośrednie skróty. Skróty te można skonfigurować na stronie preferencji klawiszy Otwiera stronę preferencji klawiszy Ogólne > Klawisze (w kategorii Źródło).

Okno dialogowe wybierania szybkiej poprawki

Dostępne są następujące szybkie poprawki:

Deklaracja pakietu
  • Korekta lub dodanie brakującej deklaracji pakietu.
  • Przeniesienie jednostki kompilacji do pakietu odpowiadającego deklaracji pakietu.
Instrukcje importu
  • Usunięcie instrukcji importu, które są nieużywane, niemożliwe do rozwiązania lub niewidoczne.
  • Wywołanie funkcji Organizuj instrukcje importu dla problemów z tymi instrukcjami.
Typy
  • Utworzenie nowej klasy, interfejsu, wyliczenia, adnotacji lub zmiennej typu dla odwołań do typów, których nie można rozwiązać.
  • Zmiana widoczności typów, do których uzyskiwany jest dostęp, ale które nie są widoczne.
  • Zmiana nazwy na podobną nazwę typu dla odwołań do typów, których nie można rozwiązać.
  • Dodanie instrukcji importu dla typów, których nie można rozpoznać, ale które istnieją w projekcie.
  • Dodanie jawnych instrukcji importu dla niejednoznacznych odwołań do typów (dwie instrukcje importu na żądanie dla tego samego typu).
  • Zmiana nazwy typu lub zmiana nazwy jednostki kompilacji, jeśli nazwy te nie są zgodne.
  • Usunięcie nieużywanych typów private.
Konstruktory
  • Utworzenie nowego konstruktora dla odwołań do konstruktorów, których nie można rozwiązać (this, super lub utworzenie nowej klasy).
  • Zmiana porządku, dodanie lub usunięcie argumentów w odwołaniach do konstruktorów, które zawierają niezgodne parametry.
  • Zmiana metody z nazwą konstruktora na konstruktor (usunięcie typu zwracanej wartości).
  • Zmiana widoczności konstruktorów, do których uzyskiwany jest dostęp, ale które nie są widoczne.
  • Usunięcie nieużywanego konstruktora private.
  • Utworzenie konstruktora, gdy wywołanie nadrzędne (super) niejawnego konstruktora domyślnego jest niezdefiniowane, niewidoczne lub powoduje zgłoszenie wyjątku.
  • Jeśli typ zawiera niezaimplementowane metody, zmiana modyfikatora typu na abstract lub dodanie metody do zaimplementowania.
Metody
  • Utworzenie nowej metody dla odwołań do metod, których nie można rozwiązać.
  • Zmiana nazwy na podobną nazwę metody w odwołaniach do metod, których nie można rozwiązać.
  • Zmiana porządku lub usunięcie argumentów w odwołaniach do metod, które zawierają niezgodne parametry.
  • Korekta modyfikatora dostępu (widoczność, dostęp statyczny) metod będących obiektem odwołania.
  • Usunięcie nieużywanych metod private.
  • Korekta typu wartości zwracanej przez metody, w których brakuje typu zwracanego lub w których nie jest on zgodny z instrukcją return.
  • Dodanie instrukcji return w razie jej braku.
  • W przypadku metod innych niż abstract, które nie zawierają treści, zmiana modyfikatora dostępu na abstract lub dodanie treści.
  • W przypadku metody abstract w typie innymi niż abstract usunięcie modyfikatora abstract lub przekształcenie typu na abstract.
  • W przypadku metody abstract/native zawierającej treść usunięcie modyfikatora abstract lub native albo usunięcie treści.
  • Zmiana modyfikatora dostępu metody na static, jeśli jest ona wywoływana wewnątrz wywołania konstruktora (super, this).
  • Zmiana dostępu do metody na dostęp domyślny w celu uniknięcia emulowanego dostępu do metody.
Pola i zmienne
  • Korekta modyfikatora dostępu (widoczność, dostęp statyczny) pól będących obiektem odwołania.
  • Utworzenie nowych pól, parametrów, zmiennych lokalnych lub stałych dla odwołań do zmiennych, których nie można rozwiązać.
  • Zmiana nazwy na podobną nazwę zmiennej dla odwołań, których nie można rozwiązać.
  • Usunięcie nieużywanych pól private.
  • Korekta dostępu niestatycznego dla pól static.
  • Dodanie modyfikatora final do zmiennych lokalnych, do których uzyskiwany jest dostęp w typach zewnętrznych.
  • Zmiana dostępu do pola na dostęp domyślny w celu uniknięcia emulowanego dostępu do metody.
  • Zmiana typu zmiennej lokalnej w celu usunięcia niezgodności typów.
  • Zainicjowanie zmiennej, która nie została zainicjowana.
Obsługa wyjątków
  • Usunięcie zbędnego bloku catch.
  • Obsługa nieprzechwyconego wyjątku przez otoczenie kodu blokiem try/catch lub dodanie bloku catch do otaczającego bloku try.
  • Obsługa nieprzechwyconego wyjątku przez dodanie deklaracji throw do metody nadrzędnej lub generalizację istniejącej deklaracji throw.
Problemy ze ścieżką budowania
  • Dodanie brakującego pliku JAR lub biblioteki dla typu, którego nie można rozwiązać.
  • Otwarcie okna dialogowego ścieżki budowania w przypadku problemów dotyczących ograniczeń dostępu lub braku klas binarnych.
  • Zmiana ustawień zgodności projektu i środowiska JRE na wartość 5.0.
  • Zmiana ustawień zgodności obszaru roboczego i środowiska JRE na wartość 5.0.
Inne
  • Dodanie lub zmiana rzutowania w celu usunięcia niezgodności typów.
  • Umożliwienie zaimplementowania interfejsu przez typ w celu usunięcia niezgodności typów.
  • Otwarcie kreatora NLS lub odpowiednie oznaczenie łańcuchów nie będących łańcuchami NLS.
  • Dodanie brakujących adnotacji @Override i @Deprecated.
  • Zablokowanie ostrzeżeń przy użyciu adnotacji @SuppressWarning.

Szybka asysta to propozycje dostępne nawet wtedy, gdy nie ma żadnego problemu ani ostrzeżenia. Więcej informacji na ten temat można znaleźć na stronie Szybka asysta.

Pojęcia pokrewne

Edytor Java
Szybka asysta

Informacje pokrewne

Akcje JDT