+38/050/370-3627
+38/093/220-0872
+38/044/257-2444
Новини

PhpStorm 2019.1. JetBrains випустила перший мажорний реліз PhpStorm цього року

PhpStorm 2019.1. JetBrains випустила перший мажорний реліз PhpStorm цього року

Завантажити PhpStorm 2019.1 можна на сайті JetBrains або за допомогою Toolbox App. Як завжди, доступна 30-денна пробна версія. Повну ж версію можуть використовувати власники підписки, що діє, на PhpStorm або All Products pack, а також безкоштовно студенти і розробники проектів з відкритим вихідним кодом.

Всього в релізі було виправлено 1118 багів і додано безліч нових фіч. Ось найцікавіші з них.

Налагодження шаблонів Twig та Blade

Завдяки відладчику можна швидко розібратися з найхитрішим багом, але щоб знайти проблеми в шаблонах, доведеться пробиратися через нетрі машинно-генерованого коду. У PhpStorm 2019.1 ми додали можливість налагоджувати оригінальні нескомпільовані файли шаблонів .twigі .blade.php.

Все, що потрібно – це вказати шлях до скомпільованих шаблонів (кешу) в налаштуваннях IDE: Languages ​​& Frameworks | PHP | Debug | Templates для Twig або Blade.

У випадку з Twig потрібно також вказати опції debug та < code>auto_reload у конфігурації.
А для Blade все буде працювати автоматично, але тільки починаючи з версії Laravel 5.8.

Після цього можна включати відладчик і ставити брейкпоінт прямо в шаблоні. Виконання зупиниться у вказаному місці, і будуть доступні всі звичні можливості налагодження: покрокове виконання, локальні та глобальні змінні, відстеження значень (watch) та інше.

Виявлення “мертвого коду”

PHP цього року виповнюється 24 роки і не дивно, що часто доводиться стикатися з легасі-кодом. Перше, що хочеться зробити – це підчистити та видалити зайве. Нова інспекція “Unused declaration” саме допоможе у цій справі.
PhpStorm 2019.1 може на льоту аналізувати ваш код і підсвічувати прямо в редакторі ті класи, члени класів, і функції, які, ймовірно, ніде не використовуються.

Також можна знайти всі елементи, що не використовуються, в пакетному режимі. Для цього потрібно викликати меню Code -> Run Inspection by Name та вибрати інспекцію Unused Declarationinspection. В результаті ви отримаєте звіт зі списком усіх проблем з описом та швидкими виправленнями.

Нові рефакторинги та швидкі дії

За традицією ми додали кілька нових рефакторингів, щоб зробити рутинні дії швидкими та безпомилковими.

Маніпулювання рядками
Якщо натиснути Alt+Enter на будь-якому рядковому виразі, ви побачите цілий перелік доступних перетворень. Наприклад, там вже є конвертація з/в NOWDOC/HEREDOC, заміна лапок, поділ рядка на два з конкатенацією. А в цьому релізі ми додали ще кілька зручних штук - копіювання конкатенованого рядка в буфер, заміна конкатенації рядків інтерполяцією або викликом функції sprintf() і, відповідно, зворотні дії

Видалення невикористовуваних змінних
Нова інспекція виявить і дозволить видалити змінну, що не використовується, в операціях присвоєння та конструкціях use у замиканнях.

Рефакторинг Move to Class
За допомогою цього рефакторингу можна безпечно переміщувати функції з PHP-файлів до класів. PhpStorm оновить усі виклики цих функцій.

При наведенні порядку може знадобитися перемістити відразу кілька функцій – це PhpStorm також підтримує. Треба вибрати бажані функції у вікні Structure і потім викликати рефакторинг Move to Class.
Інспекція Method May Be 'static'
Ця інспекція виявить методи, які можна перетворити на статичні, тобто ті, у яких немає використання екземпляра класу. У таких методів буде доступна контекстна дія – можна натиснути Alt-Enter та вибрати “Make static”. Всі виклики будуть виправлені автоматично.

Покращені механізми автодоповнення

За допомогою файлу .phpstorm.meta.php можна підказувати IDE, які аргументи очікуються у функції або які значення вона може повертати. PhpStorm буде використовувати цю інформацію для автодоповнення.
Скажімо функція чекає як аргумент якоїсь константи. Формально тип цієї константи, припустимо, integer, але насправді набір можливих констант нам відомий.
Наприклад, json_encode($data, /* ось тут бітова маска з констант JSON_* */)
Також у нас може бути функція, яка повертає константу, як наприклад json_last_error().
У PhpStorm 2019.1 автодоповнення для цих та багатьох інших вбудованих функцій вже працює з коробки

Оптимізації імпортів

Була дещо перероблена система аналізу та виправлення імпортів. Тепер, де це можливо, PhpStorm буде пропонувати замінити повне ім'я класу імпортом або видалити його зовсім, якщо воно надмірно.

Інструмент очищення коду Code Cleanup

Цей інструмент дозволяє здійснювати безпечні перетворення в пакетному режимі. Наприклад, Усьому проекті відразу, або в певній директорії і т.д.
У PhpStorm він був доступний давно, але тільки в 2019.1 в ньому були додані можливості для PHP. Насамперед це підтримка двох інструментів для виправлення стилю кодування: PHP CS Fixer та phpcbf із PHP_CodeSniffer. А також дві інспекції для оптимізації імпортів із попереднього пункту.

Перекористання Docker-контейнерів

Додано підтримку запуску Docker-контейнерів у режимах docker-compose run та docker-compose exec. Перший режим підійде для легких контейнерів, які зупиняються відразу після запуску. Друга дозволяє перевикористовувати запущені контейнери без необхідності перезапуску.

  • Гнучкі налаштування PHPDoc: можна настроювати порядок елементів та відступи в Preferences | Editor | Code Style | PHP вкладка PHPDoc;
  • Очищений шаблон PHP-файлів за замовчуванням – більше ніякого “Created by PhpStorm”;
  • Нова швидка дія для додавання якості класу в конструктор;
  • Можна увімкнути суворий режим глобально,
    навіть якщо у файлах немає директиви declare(strict_types = 1);

VCS

У системі контролю версій зроблено багато корисних покращень:

  • У Git log додані дії Fixup, Squash, та Cherry-pick;
  • При перегляді диффів тепер можна міняти панелі місцями;
  • Пуш з форсом тепер безпечніший, тому що використовується прапор --force-with-lease;
  • У діалозі комміту додано опцію “Uncheck all” для часткових коммітів – за допомогою неї можна вимкнути всі зміни і потім вибрати тільки потрібні

Поліпшення IDE

Діалог Recent Locations
Більшість часу при роботі над завданням розробникам доводиться читати код, а не писати. Тому швидка навігація між файлами завжди є дуже актуальною. У PhpStorm вже були попап Search Everywhere (Shift-Shift), Закладки та Вибране (Cmd+2 / Alt+2), перехід по історії вперед і назад (< em>Cmd+[
Cmd+] / Ctrl+Alt+LeftCtrl+Alt+Right), або перегляд останніх файлів ( Cmd+E / Ctrl+E).
У PhpStorm 2019.1 ми додали ще одну цікаву можливість – діалог Recent Locations (Cmd-Shift-E / Ctrl+Shift+E), який покаже останні шматки коду, Ви переглядали або редагували. Це може стати в нагоді, якщо ви хочете швидко переміститися по історії та бачити контекст, щоб зрозуміти куди саме.

PhpStorm як завжди включає в себевсі оновлення з WebStorm:
Документація CSS-властивостей, HTML-тегів та підтримки браузерів тепер береться з MDN і містить посилання на відповідні статті, покращилася підтримка TypeScript у Vue-додатках, додалося 17 нових інспекцій для Angular-додатків, а в панелях відладчиків JavaScript та Node.js з'явилися нові інтерактивні консолі.

і з DataGrip:

Тепер додатково підтримуються Greenplum, Vertica, Apache Hive; з'явилася можливість вибрати папку проектів за промовчанням; а також покращилися засоби автодоповнення конструкцій та атрибутів.

Інші новини