JavaRush /Blog Java /Random-PL /IntelliJ IDEA 2019.1: co nowego w naszym ulubionym IDE?

IntelliJ IDEA 2019.1: co nowego w naszym ulubionym IDE?

Opublikowano w grupie Random-PL
Niedawno zaktualizowano IntelliJ IDEA, zintegrowane środowisko programistyczne, z którego korzystają profesjonaliści (m.in. twórcy i absolwenci JavaRush) oraz przyszłych programistów (w szczególności prawie wszyscy studenci JavaRush). W tym artykule pokrótce opiszemy innowacje w IDEA, które wpływają na programistów Java.

Obsługa funkcji podglądu Java 12 — wyrażenia przełączające ( JEP 325 ) i wykrywanie duplikatów przełączników

W marcu ukazała się dwunasta wersja języka Java, a jedną z ciekawszych zmian w niej jest nowa forma wyrażeń z operatorem switch. Operator ten w swojej klasycznej formie ma nieco uciążliwą składnię, co powoduje ciągłe błędy, trudności w debugowaniu i zasłużoną niechęć ze strony programistów. W JDK 12 switchpostanowiono go zrehabilitować, a jego składnia została uproszczona. Jednak z nieznanych niewtajemniczonym powodów nowa funkcja została uwzględniona w Javie 12 jedynie w formie Preview (oznacza to, że trzeba ją „podłączyć” ręcznie nawet po zainstalowaniu JDK 12). Zaktualizowany IDEA nauczył się w pełni współpracować ze wszystkimi typami operatorów switch. IDE nauczyło się także wykrywać zduplikowane gałęzie switchi łączyć je za pomocą szybkiej poprawki.

Szczegółowe informacje na temat nowości w JDK12 można znaleźć w artykule Java 12 już tu jest: Co nowego?

Refaktoryzacja: rozszerzenie funkcji wyodrębniania zmiennych

IntelliJ IDEA może reorganizować literały ciągów i kod wykonywalny. Jeśli więc chcesz zmienić zmienną, po prostu ją zaznacz i wybierz opcję Wyodrębnij zmienną , a następnie zostanie ona zastąpiona w całym kodzie. Teraz funkcja jeszcze lepiej zachowa semantykę modyfikowanych wyrażeń. Struktura będzie w stanie wyodrębnić zmienną nawet z inicjatora pola, a wyodrębniona zmienna może również automatycznie przekształcić operator trójskładnikowy w „if”, jeśli warunek jest ważny (warunek jest uważany za ważny, jeśli ma sprawdzenie zerowe lub sprawdzenie „instanceof”).

Dokładniejsze wyróżnianie warunków w wyrażeniach trójskładnikowych

IntelliJ IDEA 2019.1 zapewnia dokładniejsze wyróżnianie wątpliwych miejsc w wyrażeniach trójskładnikowych. Teraz podświetlony zostanie tylko warunek, w którym naruszona została wartość null, podczas gdy poprzednio podświetlone było całe wyrażenie trójskładnikowe, nawet jeśli naruszenie dotyczyło tylko jednej gałęzi. Dzięki tej nowej funkcji podświetlanie jest teraz dokładniejsze w przypadku switch-wyrażeń.

Ulepszona analiza operacji matematycznych

Analiza przepływu danych może monitorować wyniki operacji matematycznych i wykorzystuje te informacje do ostrzegania programisty o warunkach, które zawsze są prawdziwe lub fałszywe. Autorzy IDEA ulepszyli analizę wielu operacji matematycznych, w tym mnożenia, reszty i operacji bitowych.

Ulepszenie adnotacji @Contract

Adnotacja @Contract służy do zdefiniowania kontraktu, z którym musi być zgodna metoda. Dzięki temu IDE może znajdować problemy w metodach wywołujących metody z adnotacjami. @Contract ma dwa atrybuty - valuei pure. Atrybut valuezawiera klauzule opisujące związek przyczynowo-skutkowy pomiędzy argumentami i wartością zwracaną. Atrybut („pure”) pureprzeznaczony jest dla metod, które nie zmieniają stanu swoich obiektów, a jedynie zwracają nową wartość. Jeśli wartość zwracana nie zostanie użyta, usunięcie wywołania nie wpłynie na stan programu ani nie zmieni semantyki, chyba że wywołanie metody zgłosi wyjątek (wyjątek nie jest uważany za efekt uboczny). Dlatego zespół IntelliJ IDEA 2019.1 ulepszył obsługę adnotacji @Contract. Teraz środowisko programistyczne może automatycznie określić „czystość” konstruktorów ze źródeł.

Przeskakiwanie ze śladu stosu Java do odpowiedniej pozycji w ciągu

Jeśli osiągnąłeś już poziom 9 zadania Java Syntax w JavaRush, to już słyszałeś, czym jest ślad stosu . Jego istota w skrócie polega na tym, że funkcja zwana last musi zostać zakończona jako pierwsza. Teraz, gdy klikniesz ślad stosu Java, IDE spróbuje określić dokładną lokalizację w linii, do której chcesz przesunąć kursor. Poprzednio prowadziło to tylko do pierwszej kolumny odpowiedniego wiersza.

Zmiany w debugerze JVM

  • Dostępna jest nowa akcja Wyjdź z bloku, która umożliwia wyjście z bieżącego bloku podczas debugowania projektu przy użyciu debugera JVM.
  • Jeśli wolisz mysz podczas debugowania, Twoja praca stanie się jeszcze wygodniejsza: możesz teraz wywołać akcję przejścia do kursora, po prostu klikając numer linii w trybie debugowania.
  • Dostępna jest teraz obsługa operatorów synchronizedi ewaluatora wyrażeń debugera.assertswitch
Tak naprawdę innowacji w IntelliJ IDEA 2019.1 jest znacznie więcej. Można o nich przeczytać na stronie JetBrains , autorów tego IDE (ale tylko w języku angielskim).
Komentarze
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION