JavaRush/Java блог/Random UA/IntelliJ IDEA 2019.1: що нового у нашій улюбленій IDE?

IntelliJ IDEA 2019.1: що нового у нашій улюбленій IDE?

Стаття з групи Random UA
учасників
Зовсім недавно оновилася IntelliJ IDEA, інтегроване середовище розробки, яке використовують і професіонали (творці та випускники JavaRush у тому числі), і майбутні програмісти (зокрема, майже всі студенти JavaRush). У цій статті ми коротко опишемо нововведення в IDEA, які стосуються Java-розробників.

Підтримка preview-функції з Java 12 - Switch Expressions ( JEP 325 ) та виявлення дублікатів Switch

У березні вийшла дванадцята версія мови Java, і одна з цікавих змін - нова форма висловлювань з оператором switch. Цей оператор у його класичному вигляді відрізняється дещо громіздким синтаксисом, що породжує постійні помилки, складність у налагодженні та заслужену на нелюбов розробників. У JDK 12 switchвирішабо реабілітувати і його синтаксис був спрощений. Однак з незрозумілої непосвяченої причини нову фічу включабо в 12 Java тільки у вигляді Preview (це означає, її потрібно "підключати" вручну навіть після установки JDK 12). Оновлена ​​IDEA навчилася повноцінно працювати з усіма видами оператора switch. IDE також навчилася виявляти дублікати гілок switchі об'єднувати їх за допомогою швидкого виправлення.

Подробиці про нововведення у JDK12 можна знайти у статті Java 12 вже тут: що нового?

Рефакторинг: розширення функції extract variable

IntelliJ IDEA вміє реорганізовувати рядкові літерали та код, що виконується. Так, якщо вам потрібно змінити якусь змінну, достатньо виділити її та вибрати параметр Extract variable , і тоді вона буде замінена у всьому коді. Тепер функція буде зберігати семантику виразів, що піддаються зміні, ще краще. Середовище зможе вилучити змінну навіть з ініціалізатора поля, а також для змінної стало можливо автоматично перетворювати тернарний оператор в «if», якщо умова буде важливою (умова вважається важливою, якщо вона має нульову перевірку або перевірку «instanceof»).

Точне підсвічування умов у тернарних виразах

IntelliJ IDEA 2019.1 забезпечує більш точне підсвічування сумнівних місць у тернарних виразах. Тепер буде підсвічена тільки та умова, в якій виявилося порушення допустимості значення null, тоді як раніше підсвічувалося все тернарне вираження, навіть якщо порушення було лише в одній гілці. Завдяки цій новій функції підсвічування стало більш точним і у разі switch-виразів.

Поліпшено аналіз математичних операцій

Аналіз потоку даних може відстежувати результати математичних операцій і використовує цю інформацію, щоб попередити розробника про ті умови, які завжди є або дійсними, або помилковими. Автори IDEA покращабо аналіз багатьох математичних операцій, включаючи множення, обчислення залишку та побітові операції.

Поліпшення інструкції @Contract

Анотація @Contract використовується визначення договору, якому має відповідати метод. Це дозволяє IDE знаходити проблеми у методах, які викликають анотовані методи. @Contract має два атрибути — valueі pure. Атрибут valueмістить пропозиції, що описують причинно-наслідковий зв'язок між аргументами і значенням, що повертається. Атрибут pure(чистий) призначений для методів, які не змінюють стан своїх об'єктів, а просто повертають нове значення. Якщо його значення, що повертається, не використовується, видалення його виклику не вплине на стан програми або не змінить семантику, якщо тільки виклик методу не викликає виняток (виняток не вважається побічним ефектом). Отже, команда IntelliJ IDEA 2019.1 удосконалила підтримку анотацій @Contract. Тепер середовище розробки може автоматично визначати "чистоту" конструкторів із джерел.

Перехід від стек-трейсу Java до відповідної позиції у рядку

Якщо ви вже дійшли до 9-го рівня квесту Java Syntax на JavaRush, то ви вже чули про те, що таке стек-трейс . Його суть коротко в тому, що функція, викликана останньою, має завершитися першою. Тепер, коли ви клацаєте по трасуванні стека Java, IDE спробує визначити точне місце розташування в рядку, до якого потрібно перевести курсор. Раніше це призвело б вас лише до першого стовпця відповідного рядка.

Зміни у відладчику JVM

  • З'явилася нова дія Step Out of the Block, що дозволяє вийти з поточного блоку під час налагодження проекту за допомогою JVM debugger.
  • Якщо під час налагодження ви віддаєте перевагу миші, вам стане працювати ще зручніше: тепер можна викликати дію переходу до курсора просто натиснувши номер рядка в режимі налагодження.
  • З'явилася підтримка synchronizedі assertоператорів switchобчислювачем виразів відладчика.
Насправді нововведень у IntelliJ IDEA 2019.1 набагато більше. Про них можна почитати на сайті JetBrains , авторів цієї IDE (але лише англійською мовою).
Коментарі
  • популярні
  • нові
  • старі
Щоб залишити коментар, потрібно ввійти в систему
Для цієї сторінки немає коментарів.