Poniżej znajdują się opisy niektórych ciekawych i ważnych zmian wprowadzonych w narzędziach programistycznych Java w wersji Eclipse 3.3. Zostały one podzielone na następujące sekcje:
Zmiany wprowadzone w platformie są również opisane w dokumencie Platforma Eclipse - Co nowego w wersji 3.3.
|
Akcje refaktoryzacji i kodu źródłowego Java |
|||
Refaktoryzacja bez zapisu |
Operacje refaktoryzacji nie wymagają już zapisania wszystkich edytorów. Teraz można z nich korzystać nawet wtedy, gdy w edytorach Java lub edytorach tekstu nadal znajdują się niezapisane zmiany. Jeśli istnienie niezapisanych zmian w edytorach po refaktoryzacji nie jest pożądane, można włączyć opcję zapisywania zmodyfikowanych zasobów na stronie preferencji |
||
Refaktoryzacja zmiany nazw w edytorze |
Refaktoryzacji zmiany nazw Java można teraz dokonywać bezpośrednio w edytorze, bez wyświetlania okna dialogowego. Wykonanie w edytorze Java komendy Refaktoryzacja > Zmień nazwę (Alt+Shift+R) powoduje przełączenie edytora w tryb połączony, bez otwierania modalnego okna dialogowego. Zakres zmian pozostaje lokalny do chwili naciśnięcia Enter, kiedy to zmiana jest wprowadzana w całym obszarze roboczym.
Aby wyświetlić i skonfigurować opcje refaktoryzacji, ponownie naciśnij Alt+Shift+R lub kliknij przycisk menu i wybierz opcję Otwórz okno dialogowe zmiany nazw.... Jeśli wolisz korzystać ze starego okna dialogowego, należy wyłączyć opcję Zmieniaj nazwy w edytorze bez okna dialogowego na stronie preferencji
|
||
Refaktoryzacja Wprowadź obiekt parametrów |
Wprowadź obiekt parametrów to nowa operacja refaktoryzacji, pozwalająca zastąpić zestaw parametrów metody nowym obiektem-kontenerem. Wszystkie wywołania tej metody są automatycznie aktualizowane, by przekazywać obiekt parametrów nowej klasy. Zastosowania:
Aby dokonać refaktoryzacji Wprowadź obiekt parametrów, zaznacz metodę, wywołaj operację Refaktoryzacja > Wprowadź obiekt parametrów oraz wybierz parametry, które mają zostać polami i nadaj im czytelne nazwy.
Następujący fragment kodu:
zostanie przekształcony do postaci:
|
||
Sortuj składowe dla wielu elementów |
Korzystając z operacji Sortuj składowe można teraz sortować wiele elementów naraz. Wybierz pakiet, projekt lub zbiór elementów Java w Eksploratorze pakietów, a następnie wywołaj operację Źródło > Sortuj składowe. |
||
Profile oczyszczania |
Kreator Źródło > Oczyść został zastąpiony stroną preferencji. Na stronie tej można definiować profile czyszczenia. Profil może być powiązany z obszarem roboczym lub poszczególnym projektami. Ustawienia projektu mogą też być współużytkowane w ramach zespołu za pośrednictwem systemu kontroli wersji. Dodatkowo możliwe jest eksportowanie i importowanie poszczególnych profili. |
||
Nowe operacje czyszczenia |
Zostały zaimplementowane następujące operacje czyszczenia:
|
||
|
Edytor Java |
|||
Czyszczenie kodu przy zapisie |
Teraz możliwe jest automatyczne wywoływanie operacji czyszczenia kodu przy każdym zapisie edytora Java.
Funkcję tę można włączyć na poziomie globalnym na stronie preferencji |
||
Aktywna obsługa treści dla ulubionych importów statycznych |
Aktywna obsługa treści (Ctrl+Space) może teraz proponować uzupełnienia składowych statycznych z listy ulubionych importów, którą można skonfigurować na stronie preferencji Jeśli na przykład do tej listy została dodana pozycja
Podczas wstawiania takich propozycji uwzględniane są preferencje importu ustawione na stronie preferencji
|
||
Aktywna obsługa treści dla zmiennych nierozstrzygniętego typu |
Edytor Java obsługuje teraz propozycje nowych składowych również w przypadku nierozstrzygniętego typu - w zależności od ustawienia preferencji
Naciśnięcie klawisza ; w następującej sytuacji:
Wynik:
|
||
Aktywna obsługa treści oferuje propozycje deklaracji niezdefiniowanych zmiennych lokalnych |
Aktywna obsługa treści może teraz wnioskować na temat nazwy deklarowanej zmiennej lokalnej na podstawie nierozstrzygniętych nazw wykrytych w dalszej części kodu, co ilustruje następujący przykład:
|
||
Ciąg dalszy ulepszeń mechanizmu aktywnej obsługi treści |
|
||
Szybka asysta |
Funkcje dotąd dostępne tylko w menu Refaktoryzacja są teraz dodatkowo dostępne jako operacje szybkiej asysty (Ctrl+1). Operacje szybkiej asysty nadal nie powodują wyświetlenia okna dialogowego, lecz przejście w tryb połączony, w którym można zmieniać wprowadzone nazwy lub typy.
|
||
Szybka poprawka do tworzenia metody z @Override |
Jeśli adnotacja @Override zostanie dodana do metody, która jeszcze nie przesłania żadnej innej metody, wywołanie szybkiej poprawki (Ctrl+1) pozwoli utworzyć taką metodę w jednym z typów nadrzędnych. |
||
Szybka poprawka do tworzenia i używania metod pobierających i ustawiających |
Dostępna jest nowa szybka poprawka mająca zastosowanie w przypadku pól niedostępnych z powodu ograniczeń widoczności. W następującym scenariuszu należy nacisnąć Ctrl+1, by wywołać szybką poprawkę:
Jeśli to pole posiada metodę pobierającą, można z niej skorzystać.
A jeśli pole nie posiada metody pobierającej, można taką metodę utworzyć.
|
||
Szablon do dodawania metod testów JUnit 4 |
Dodano nowy szablon Test w celu przyspieszenia procesu dodawania metod testów JUnit 4. |
||
Kolorowanie składni w odniesieniu do nawiasów |
Nawiasy mogą teraz w edytorze Java być kolorowane niezależnie od operatorów, co można ustawić na stronie preferencji
|
||
Koniec z pytaniami "Nie widzę pełnego źródła" na grupie dyskusyjnej |
Grupa komend zawierająca przycisk paska narzędzi Pokaż kod źródłowy tylko wybranego elementu |
||
Konfigurowalna czcionka dokumentacji Javadoc |
Czcionkę używaną do wyświetlania dokumentacji Javadoc można teraz konfigurować na stronie preferencji
|
||
Kolor tła dla podpowiedzi kodu źródłowego |
Kolor tła wszystkich podpowiedzi wyświetlających kod źródłowy w edytorze Java można teraz konfigurować na stronie preferencji
|
||
W edytorze plików klas wyświetlany jest dezasemblowany kod |
Jeśli kod źródłowy nie jest dostępny, w edytorze plików klas Java wyświetlany jest teraz dezasemblowany kod bajtowy. |
||
|
Kompilator Java |
|||
Ulepszona obsługa duplikatów zmiennych i typów lokalnych |
Narzędzia JDT lepiej radzą sobie teraz z obsługą błędów kodu wynikających ze zduplikowanych zmiennych i typów lokalnych, ze szczególnym uwzględnieniem minimalizacji liczby błędów drugorzędnych. Pozwala to narzędziom Java działać na niepoprawnym kodzie i oferować szybkie poprawki.
|
||
Ulepszone sprawdzanie wartości NULL |
Istniejąca opcja Puste odniesienia na stronie preferencji
|
||
Domyślnie włączone ostrzeżenia o surowych typach |
Opcjonalna funkcja diagnostyczna kompilatora umożliwiająca wykrywanie wykorzystania typów surowych jest teraz domyślnie włączona. Działanie tej funkcji diagnostycznej można skonfigurować na stronie preferencji
|
||
Ulepszone ostrzeżenie o nieużywanym parametrze |
Ostrzeżenie Nieużywany parametr zostało ulepszone poprzez dodanie nowej opcji pozwalającej uniknąć fałszywych alarmów. Za pomocą komentarza ze znacznikiem @param można teraz dodać wskazówkę dla kompilatora, informującą, że dany parametr jest w rzeczywistości używany. Opcja ta jest dostępna na stronie preferencji |
||
|
Widoki i okna dialogowe Java |
|||
Kolorowe etykiety w widokach Java |
Aby włączyć kolorowe etykiety w widokach Java, otwórz stronę preferencji |
||
Dekoracje pól przejściowych i ulotnych |
Pola przejściowe (transient) i ulotne (volatile) mają teraz własne dekoracje ikon: |
||
Grupowanie archiwów JAR i folderów klas w Eksploratorze pakietów |
Używane biblioteki są teraz w Eksploratorze pakietów grupowane w obrębie nowego węzła kontenerowego.
|
||
Więcej opcji wyszukiwania Java |
Ulepszenia wprowadzone w oknie wyszukiwania Java pozwalają teraz bardziej precyzyjnie kontrolować zakres wyników poprzez ograniczanie zakresu wyszukiwania do kodu źródłowego, wymaganych projektów, bibliotek JRE lub bibliotek aplikacji.
|
||
Filtr wyszukiwania dla odniesień do metody przesłoniętej |
W mechanizmie wyszukiwania Java wprowadzono nowe kryterium kategoryzacji trafień dotyczących odniesień do metod. Możliwe jest teraz odróżnienie wywołania za pośrednictwem typu lub jednego z jego podtypów od wywołania za pośrednictwem nadtypu, które jest na ogół mniej precyzyjnym trafieniem. W widoku Wyszukiwanie dostępny jest teraz filtr umożliwiający dalsze zawężenie odwołań do wyszukiwanej metody. W następującym przykładzie, użytkownik szukał odniesień do metody
|
||
Wybór środowiska wykonawczego podczas tworzenia projektu Java |
Podczas tworzenia projektu Java, który ma być współużytkowany z zespołem, dobrym zwyczajem jest używanie środowiska wykonawczego zamiast konkretnego środowiska JRE. Środowiska wykonawcze to symboliczne reprezentacje środowisk JRE, zawierające standaryzowane wpisy, jak na przykład "J2SE-1.4" lub "J2SE-1.5". Dzięki temu w skład współużytkowanej ścieżki budowania nie wchodzi żadna ścieżka w systemie plików. Środowiska JRE można przypisywać poszczególnym środowiskom wykonawczym na stronie preferencji
|
||
Dodawanie nowego projektu Java do zbioru roboczego |
Do kreatora Nowy projekt Java zostały dodane nowe pola wejściowe, umożliwiające określanie zbiorów roboczych, do których nowy projekt zostanie dodany. Pola są inicjalizowane na podstawie bieżącego wyboru lub aktualnie aktywnego filtru zbiorów roboczych w Eksploratorze pakietów. |
||
Przypisywanie do zbiorów roboczych |
Teraz łatwiej jest zmieniać przynależność elementów lub zasobów Java do zbiorów roboczych. Aby przypisać element do innego zbioru roboczego, zaznacz element w Eksploratorze pakietów i z menu podręcznego wybierz opcję Przypisz zbiory robocze. |
||
Wklejenie deklaracji typu powoduje utworzenie nowego projektu |
Każdy chyba chciał kiedyś szybko wypróbować otrzymany fragment kodu. Teraz wystarczy skopiować taki fragment do schowka, przejść do Eksploratora pakietów, upewnić się, że nic nie jest wybrane i wkleić kod (Edycja > Wklej lub Ctrl+V). Środowisko Eclipse podejmie próbę przeanalizowania tekstu w schowku, a jeśli wygląda on na zawartość pliku *.java, zostanie utworzony nowy projekt Java zawierający taki właśnie plik *.java.
Podobnie jak w wersji 3.2, nadal można oczywiście wybrać istniejący projekt lub pakiet jako element docelowy dla nowego pliku. |
||
Ulepszone wklejanie do Eksploratora pakietów |
Wklejenie do Eksploratora pakietów kodu źródłowego Java zawierającego wiele deklaracji pakietów powoduje teraz automatyczne utworzenie wszystkich niezbędnych pakietów i jednostek kompilacji. Struktura widoczna z prawej strony jest tworzona w wyniku wklejenia fragmentu kodu widocznego z lewej strony do Eksploratora pakietów, gdy nic nie jest w nim wybrane:
|
||
Cofanie kasowania w widokach Java |
Operacja Edycja > Cofnij jest teraz również dostępna w przypadku usuwania elementów Java z widoków Java. Przypadkowo usunięte pakiety, jednostki kompilacji itd. można łatwo przywrócić naciskając Ctrl+Z. |
||
Przeciąganie i upuszczanie elementów Java w Eksploratorze projektów |
Przeciąganie i upuszczanie elementów Java w Eksploratorze projektów powoduje teraz wyzwalanie zdarzeń refaktoryzacji Java (podobnie jak w Eksploratorze pakietów).
|
||
Eksportowanie i importowanie wykonań testów JUnit |
Wykonania testów JUnit można teraz eksportować i importować. |
||
Otwieranie wielu typów naraz |
Okno dialogowe Otwórz typ (Ctrl+Shift+T) umożliwia teraz otwieranie wielu edytorów naraz. |
||
Wyszukiwanie według wzorców w pakietach i typach obejmujących |
W definicjach pakietów i typów obejmujących podawanych w oknie dialogowym Otwórz typ mogą być używane symbole wieloznaczne '*' i '?'.
|
||
|
Debuger Java |
|||
Podążaj za odniesieniami (tylko Java SE 6) |
Możliwe jest wyświetlenie wszystkich odniesień do obiektu (funkcja dostępna wyłącznie w przypadku debugowania w maszynie wirtualnej Java SE 6). Odniesienia do obiektów można wyświetlać w widoku zmiennych poprzez włączenie opcji Pokaż odniesienia w menu widoku. Odniesienia do każdego obiektu są grupowanie w ramach kolekcji.
Odniesienia mogą też być wyświetlane w podręcznym oknie dialogowym poprzez zaznaczenie obiektu w widoku zmiennych i wybranie z menu kontekstowego opcji Wszystkie odniesienia.
Odniesienia są wyświetlane w podręcznym oknie dialogowym.
|
||
| Wyświetlaj instancje (tylko Java SE 6) |
Możliwe jest wyświetlanie wszystkich instancji danego typu Java (funkcja dostępna wyłącznie w przypadku debugowania w maszynie wirtualnej Java SE 6). Instancje są wyświetlane w podręcznym oknie dialogowym po wybraniu typu w schemacie edytora, nazwy typu w edytorze Java lub zmiennej w widoku Zmienne, a następnie wybraniu z menu kontekstowego opcji Wszystkie instancje.
Instancje są wtedy wyświetlane w podręcznym oknie dialogowym.
|
||
| Wymuś powrót (tylko Java SE 6) |
Możliwe jest wymuszenie wcześniejszego powrotu z metody (komenda jest dostępna wyłącznie w przypadku debugowania w maszynie wirtualnej Java SE 6). Powoduje to zwrócenie wartości z bieżącej ramki stosu bez wykonywania żadnych dalszych instrukcji metody, a jednocześnie zwolnienie wszelkich blokad pozyskanych przez bloki synchronizowane. Utworzenie wartości zwracanej polega na wybraniu wyrażenia i akcji Wymuś powrót (Alt+Shift+F). Operacja ta jest dostępna w menu kontekstowym edytora Java, głównym menu Wykonaj, widoku Wyświetlanie oraz panelu szczegółów widoku Zmienne. Wymuszenie wcześniejszego powrotu z metody zwracającej wartość (typ inny niż void) wymaga wartościowania wyrażenia. Jeśli na przykład metoda miała zwrócić wartość false, można wymusić zwrócenie wartości true poprzez wybranie wyrażenia w widoku Wyświetlanie i wywołanie komendy Wymuś powrót. W następującym przykładzie zmienna
Wybierając opcję Wymuś powrót z menu Wyświetlanie można wymusić zwrócenie wartości true.
|
||
| Przechodzenie krokowe za pomocą odsyłaczy |
Podczas debugowania można wchodzić do metody za pośrednictwem odsyłaczy. W tym celu użyj kombinacji Ctrl+Alt+kliknięcie, by wejść do metody (w odróżnieniu od kombinacji Ctrl+kliknięcie, która spowoduje przejście do kodu źródłowego).
|
||
Dwukrotne kliknięcie i Ctrl+Shift+B dla wielu typów punktów zatrzymania |
Dwukrotne kliknięcie pionowej linijki lub wywołanie operacji Przełącz punkt zatrzymania (Ctrl+Shift+B) powoduje teraz utworzenie punktu zatrzymania o typie odpowiednim dla bieżącego położenia kursora, a więc punktu zatrzymania wiersza, punktu kontrolnego, punktu zatrzymania metody lub punktu zatrzymania ładowania klasy. Aby utworzyć punkt zatrzymania ładowania klasy, dwukrotnie kliknij w wierszu deklaracji klasy.
|
||
| Filtry wykonywania krokowego a wykonywanie do instrukcji |
Filtry wykonywania krokowego można skonfigurować tak, by zawsze powracały z położenia filtrowanego lub przechodziły do położenia niefiltrowanego. Jeśli na przykład Funkcję tę można przełączać za pomocą opcji Przechodzenie przez filtry na stronie preferencji
|
||
| Automatyczne formatowanie śladów stosu |
Możliwe jest automatyczne formatowanie śladów stosu wklejanych do konsoli śladów stosu Java. Na pasku narzędzi konsoli dostępny jest przełącznik Automatyczne formatowanie.
|
||
| Eksportowanie struktur logicznych |
Preferencje dotyczące struktur logicznych Java można teraz eksportować i importować niezależnie od innych preferencji obszaru roboczego. Struktury logiczne Java są definiowane na stronie preferencji
|
||
|
Różne |
|||
Nowe opcje formatera kodu |
Do strony preferencji
|
||
| Reguły dostępu do środowisk wykonawczych |
Reguły dostępu są teraz przypisywane każdemu środowisku wykonawczemu na podstawie jego profilu. Na przykład istnieją reguły uniemożliwiające dostęp do pakietów
|
||
Nieaktualne i dostępne tylko do odczytu zmienne ścieżki klas |
Punkt rozszerzenia Użytkownicy powinni zastępować nieaktualne zmienne ścieżek klas lepszymi mechanizmami, takimi jak biblioteki. W przypadku niektórych zmiennych (np. JUNIT_HOME), widok Problemy udostępnia nawet szybkie poprawki ułatwiające migrowanie istniejących projektów. |
||
Ścieżki względem obszaru roboczego jako położenie dokumentacji Javadoc |
Jako położenia dokumentacji Javadoc dla archiwów i folderów klas są teraz akceptowane ścieżki względem obszaru roboczego: |
||
Generowanie typów podczas wykonania |
Mechanizm przetwarzania adnotacji Java 5 (APT) wprowadzono już w wersji 3.2 środowiska Eclipse, jednak jak dotąd jedynym sposobem generowania nowych typów było wykonanie budowania. Obiekty przetwarzające adnotacje Java 5 mogą teraz generować nowe typy podczas pracy, w miarę edytowania adnotacji. Ze względów wydajnościowych, funkcja ta jest domyślnie wyłączona. Aby ją włączyć, obiekt przetwarzający powinien dołączać łańcuch "enableTypeGenerationInEditor" do zestawu łańcuchów zwracanego przez metodę
|
||
Przetwarzanie adnotacji Java 6 |
Środowisko Eclipse 3.3 w pełni obsługuje przetwarzania adnotacji Java 6 w kompilatorze wsadowym Java środowiska Eclipse. Przetwarzanie adnotacji Java 6 jest również w minimalnym stopniu obsługiwane w środowisku IDE, a w przyszłości planowane jest rozszerzenie zakresu jego obsługi. |
||