phpstorm короткие теги php

PhpStorm — повышаем производительность (клавиатурные сокращения). Часть 1

phpstorm короткие теги php. Смотреть фото phpstorm короткие теги php. Смотреть картинку phpstorm короткие теги php. Картинка про phpstorm короткие теги php. Фото phpstorm короткие теги phpPhpStorm — повышаем производительность (плагины и темы оформления). Часть 2

У всех нас есть любимые IDE или редакторы в которых мы пишем код. Для меня это PhpStorm, и потребовалось некоторое время, чтобы освоить все клавиатурные сокращения и ускорить свой рабочий процесс. В этой статье я поделюсь с вами некоторыми сочетания клавиш и советами, которые возьмут на себя часть рутинной работы, если вы тоже делаете свою работу в этой IDE. Эта статья была частично вдохновлена этим Reddit тредом, и я буду упомянать и демонстрировать некоторые трюки найденные там.

Обратите внимание, что я разрабатываю на Linux в Vagrant, размещенном в Windows, я буду использовать клавишу CTRL вместо CMD. Если вы работаете в OS X, замените CTRL на CMD.

Клавиатурные сокращения и хаки

(осторожно, много gif изображений)

Давайте посмотрим, чем мы можем воспользоваться: (в скобках рядом с сокращениями указаны названия функций в keymap)

К тому же, как вы можете видеть во всплывающем окне, которое появляется в приведенной выше анимации, вы можете выбрать переформатирование всего проекта. Если есть необходимость использовать эту возможность часто и при этом вы не так много работаете над проектами других людей, то возьмите на заметку — есть возможность связать макросом CTRL+S и автоформатировать код при каждом сохранении. Но стоит заметить, однако, что если вы работаете над проектом с кем-то еще, это может привести к слишком частым изменениям форматирования кода и загрязнить систему контроля версий.

Если вы находитесь в Linux, комбинация CTRL+ALT+L уже может быть связана с «Блокировкой экрана», и вы должны будете отвязать его в системных настройках или изменить его в настройках PhpStorm.

Источник

Продуктивное использование PHPStorm

В процессе использования IDE иногда случайно, иногда специально находятся полезные фишки, сочетания клавиш и прочие заложенные разработчиками приятные штуки, которые никогда не оседают в памяти без регулярного их использования и всячески ускользают при чтении мануалов.

Не претендуя на библию или «настольную статью программиста» я хочу поделиться полезными находками в моей любимой IDE, не скатываясь в тупую копипасту мануалов и скучных списков хоткеев, только то, что я сам использую постоянно и над чем удивляются коллеги: «о! а так можно?»

Если ни одна из фишек описанных в статье вам была не в новинку, потрудитесь добавить хотя бы одну свою, тогда мир станет лучше, деревья зеленее… ну вы поняли.

Я работаю на Mac, поэтому хот-кеи указываю в «своей» раскладке. Большинство из них будут работать простой заменой [CMD] на [CTRL] или [ALT], остальные, возможно, придется поискать на вкладке Keymap. Буду благодарен, если кто-то проверит и продублирует раскладку для WIN.

Автогенерация кода

Существует куча рутинных задач, которые иногда выполняются самим фреймворком, а иногда требуют тупой ручной работы. PHPStorm помогает упростить некоторые [CTRL]+N, например:

Создание геттеров и сеттеров (Getters & Setters)
По существующим переменным класса можно сгенерировать набор геттеров и\или сеттеров, причем в появляющемся окне можно выбрать для каких именно.

Создание PHPDoc
По сути действие аналогично тому, как если перед существующим методом начать писать /** и нажать Enter. Можно выбрать одну или несколько функций и на основании атрибутов и содержимого будет сформирован Doc Block.

Переназначение и реализация при наследовании (Override & Implementation)
При создании класса потомка или реализации абстрактных методов, чтобы не допустить ошибку, обычно приходится лезть в класс предок и запоминать или копипастить название и атрибуты метода. Или проверять для всех ли абстрактных методов есть реализация и вспоминать что же там требуется для ArrayAccess. Есть вариант получше:
[CMD] + I – Имплементация
[CMD] + O – Переназначение
После нажатия хоткея появляется окно где можно выбрать какие именно методы будем реализовывать. После выбора генерится соответствующий метод с соблюдением приватности и имена атрибутов, например так:

Автоформатирование кода

По-умолчанию, нажатие хоткея форматирует файл целиком. Если выбрать область, то форматируется только selection. Если выбрать в дереве папку или весь проект, можно сразу привести в порядок всё сразу.

phpstorm короткие теги php. Смотреть фото phpstorm короткие теги php. Смотреть картинку phpstorm короткие теги php. Картинка про phpstorm короткие теги php. Фото phpstorm короткие теги php

Подсказки (Code Completition)

Важной функцией IDE является способность подсказывать названия и атрибуты методов. Особенно это важно для ООП, когда цепочки по 3-4 наследующихся класса способны запутать кого угодно.

phpstorm короткие теги php. Смотреть фото phpstorm короткие теги php. Смотреть картинку phpstorm короткие теги php. Картинка про phpstorm короткие теги php. Фото phpstorm короткие теги php

Для функций нужно писать PHPDoc с параметром @ return. Например:

Для переменных также можно указать комментарий:

Для методов над классом можно указать PHPDoc

Если функция возвращает массив объектов

Задачи (tasks)

Использование систем контроля версий уже давно стало признаком хорошего тона. Но часто бывает проблема, когда работа ведется над несколькими задачами параллельно или прибегает кто-то и срочно просит исправить воооот этот баг прям-вот-щяс. Очень легко можно забыть закоммитить нужный файл или наоборот, в коммит попадают лишние файлы или изменения которых там быть не должно.

Избежать этого и внести порядок в работу можно с помощью Tasks. Суть в том, что у каждой задачи есть свой Change-лист, в котором указаны файлы с изменениями и переключаясь между задачами сразу видно, с какими файлами работали по этой задаче и что нужно не забыть.

phpstorm короткие теги php. Смотреть фото phpstorm короткие теги php. Смотреть картинку phpstorm короткие теги php. Картинка про phpstorm короткие теги php. Фото phpstorm короткие теги php

Другой положительный момент, что IDE предупреждает, если вы в рамках одной задачи начинаете править файл, уже затронутый в другой.

Добавляет удобства, что при коммите в него автоматически попадают все файлы из текущего change-листа + в комментарий подставляется название задачи.

Хорошо если у вас уже есть багтрекер типа Jira или Redmine, если нет, на том же GitHub есть довольно простая система баг-трекинга, также поддерживаемая PHPStorm. Это позволяет подгрузить номер, название и описание уже существующей задачи по которой вы работаете прямо в IDE, хотя ничто не мешает не пользуясь трекером создавать произвольные change-листы.

FTP, деплой и автодеплой

Со многими проектами работа ведется по FTP или SFTP. PHPStorm имеет удобный функционал для работы с ними. Сохранив доступы к серверу и настроив mapping появляется возможность выгружать и загружать (upload & download) файлы на сервер нажатием одного хоткея. Чтобы работало — нужно не забыть тыкнуть «use this server as default»

phpstorm короткие теги php. Смотреть фото phpstorm короткие теги php. Смотреть картинку phpstorm короткие теги php. Картинка про phpstorm короткие теги php. Фото phpstorm короткие теги php

Почему-то для Mac не заданы хоткеи по умолчанию для этих действий, но в Keymap можно их задать (спасибо Кэп). Я поставил следующие:
• Upload to Default Server: [CTRL] + U
• Download from Default Server: [CTRL] + D
(привел их для удобства поиска в Keymap + на мой взгляд легко запоминается)

Тут сказывается удобство того, что PHPStorm при нажатии [CMD] + S сохраняет сразу все файлы, т.к в результате процедура сохранения и аплоада совмещаются в одну.

Теперь можно не заботится всё ли загружено и ничего ли не забыто.

Консоль

Многие фреймворки используют консоль для быстрого выполнения частых действий. Для Symfony, Zend и других популярных фреймворков PHPStorm поддерживает подсказки и автодополнение консольных команд в Command Line Tools Console [CMD] + [SHIFT] + X

Но ничто не мешает сделать такое же и для своего проекта или частоупотребляемых команд UNIX или GIT, для этого нужно выбрать исполняемый файл и создать специальный XML файл вида:

Подробное описание как это делается вот тут: devnet.jetbrains.net/docs/DOC-1230

Разновидности поиска

[CMD] + N – Find by Class Name

Поиск по имени класса. Удобно в больших проектах, когда всё зарыто вглубь директорий или просто неизвестно где находится. Убойности добавляет «умный поиск», т.к. ищется как по части названия класса, так и по первым буквам, например SomeVeryLongClass будет найден по «SVLC». Учитывает регистр букв, будьте внимательны.

phpstorm короткие теги php. Смотреть фото phpstorm короткие теги php. Смотреть картинку phpstorm короткие теги php. Картинка про phpstorm короткие теги php. Фото phpstorm короткие теги php

UPD: «Умный поиск» разработчики называют Camel’s Hump. Кстати в настройках можно сделать чтобы выделение слов, а также перемещение осуществлялось не целиком (до пробела), а именно по по словам (до заглавной буквы). Спасибо, yujin1st

[CMD] + [SHIFT] + N – Find by File Name

Поиск по имени файла. Аналогично поиску по имени класса использует «умный поиск».

UPD: Для нахождения файла по вложенности можно использовать слеш: some/deep/dir/with/file.txt найдется по «s/d/d/w/f», спасибо develop7

[CMD] + [SHIFT] + [ALT] + N – Find Symbol

Поиск любой функции/метода и констант, очень удобно, когда точно помнишь имя метода, а класс нет. Спасибо conf

[ALT] + [F7] – Find Usages

В момент когда курсор находится на имени класса или метода нажатие хоткея позволяет найти все использования в проекте или определенной части (Scope).

Есть вариант [CTRL] + [ALT] + [F7] — тот же поиск по использованиям, но в виде контекстного меню. Спасибо iPavel

[CTRL] + [SHIFT] + F – Find in Path

Поиск произвольной фразы по файлам проекта. При рефакторинге обычно хорошо дополняет Find Usages.

Не стоило бы писать о “просто поиске”, если бы не возможность ограничить директорию в котором будут искаться нужные штуки, или настроить Scope. Scope позволяет гибко настроить и сохранить область поиска, для использования в дальнейшем. Можно выкинуть из поиска, например, файлы фреймворка или сторонние либы.

phpstorm короткие теги php. Смотреть фото phpstorm короткие теги php. Смотреть картинку phpstorm короткие теги php. Картинка про phpstorm короткие теги php. Фото phpstorm короткие теги php

Убрать рамку с подписями вкладок

В нижнем левом углу есть кнопка, позволяющая убрать рамки для боковых и нижних вкладок. Сами вкладки можно открывать по сочетаниям [CMD] + 0-9, но некоторые вкладки не имеют цифры. В таком случае поможет быстрое двойное нажатие (даблклик) [CMD], которое на время удержания показывает рамку с кнопками, в которые можно тыкать мышой.

phpstorm короткие теги php. Смотреть фото phpstorm короткие теги php. Смотреть картинку phpstorm короткие теги php. Картинка про phpstorm короткие теги php. Фото phpstorm короткие теги php

Productivity Guide

В меню Help->Productivity Guide есть возможность посмотреть небольшую статистику про себя, а также список фич со статистикой их использования. Спасибо nxn

phpstorm короткие теги php. Смотреть фото phpstorm короткие теги php. Смотреть картинку phpstorm короткие теги php. Картинка про phpstorm короткие теги php. Фото phpstorm короткие теги php

Сравнение двух файлов

При выделении двух произвольных файлов в менеджере файлов появляется пункт «Compare Two Files», который показывает их в встроенном дифф-вьювере и позволяет переносить изменения из одного файла в другой. Спасибо pro100tak

Метки в проекте

С помощью [CTRL] + [SHIFT] + 0. 9 можно оставлять метки. Вернуться на метку можно с помощью [CTRL] + 0. 9. Работает в контексте всего проекта. Спасибо ualinker

Интересные хоткеи из комментариев

[CMD] + [ALT] + T (WIN: CTRL + ALT + T)
Окружение выделения предзаданными штуками, типа тегов или if-else, в зависимости от контекста. Спасибо happyproff

[CMD] + [F12] (WIN: CTRL + F12)
Структура текущего класса с поиском и опциональным отображением унаследованных членов
Аналог вкладки Structure, только во всплывающем окне. Спасибо happyproff

[ALT] + [Home] — быстрая навигация по пути к файлам. Спасибо develop7
phpstorm короткие теги php. Смотреть фото phpstorm короткие теги php. Смотреть картинку phpstorm короткие теги php. Картинка про phpstorm короткие теги php. Фото phpstorm короткие теги php

[CMD] + [SHIFT] + A — поиск по командам IDE

Источник

Шпаргалка: Горячие (hotkeys) клавиши PhpStorm и PyCharm

phpstorm короткие теги php. Смотреть фото phpstorm короткие теги php. Смотреть картинку phpstorm короткие теги php. Картинка про phpstorm короткие теги php. Фото phpstorm короткие теги php

Горячих клавиш в IDE PhpStorm и PyCharm гораздо больше, чем в приведенном ниже списке. Здесь я привел только те, которыми пользуюсь сам (* звездочкой выделил наиболее используемые мною горячие клавиши).

Шпаргалка будет обновляться, если начну использовать новые hotkeys.

Для настройки горячих клавиш или добавление собственных сочетаний клавиш перейдите File > Settings > Keymap.

Редактирование

*Ctrl + W — выделение текущего блока. Если нажимать W несколько раз, то будут выделяться родительские блоки по иерархии.

Ctrl + Shift + W — проделывает обратное действие от предыдущего

Ctrl + Y — удаляет строку

*Ctrl + D — дублирует строку

Ctrl + Shift + U — делает выделенный текст или заглавными, или строчными буквами

Ctrl + Delete — удаляет часть от курсора до конца слова

*Ctrl + Alt + L — форматирование кода соответствии с настройками code style.

*Ctrl + / — закомментировать/раскомментировать текущую строку.

Ctrl + Shift + / — закомментировать/раскомментировать выделенные строки кода.

Ctrl + Shift + J — к текущей строке присоединяет нижнюю.

Ctrl + [ или ] — перемещает курсор в начало или конец блока с кодом, в теле фукции, в теле цикла и т.д.

Ctrl + Shift + ] или [ — выделить код код до конца или до начала блока

*Tab — сделать отступ (табуляцию)

*SHIFT + Tab — убрать отступ

*Ctrl + Alt + Стрелка вверх — перемещает текущую строку вверх.

*Ctrl + Alt + Стрелка вниз — перемещает текущую строку вниз.

Ctrl + Shift + Стрелка вниз — перемещает текущий логический блок вниз

*Ctrl + Space — выводит возможные варианты автодополнения

Ctrl + курсор мыши над кодом — краткая информация

*Ctrl + клик по названию переменной или метода, или CTRL+B когда курсор установлен на названии, приведет туда, где метод или переменная определены.

*Ctrl + G — перейти к строке по номеру

*Alt + Клик левой кнопкой мышки — мультикурсор, если нужно одновременно несколько курсоров, кликаем мышкой в нужные места, куда нужно их добавить

*Ctrl + Alt + J — обрамление выделенного текста тегом (нужно выбрать первый пункт из всплывающего окошка)

F11 — быстро установить закладку

Shift + F11 — просмотр всех закладок

Поиск / замена

Двойной Shift — поиск по проекту

*Ctrl + F — поиск в текущем файле

*Ctrl + R — поиск и замена

*Ctrl+Shift+E — вызовет всплывающее окно, в котором показаны последние куски кода в разных файлах, с которыми вы работали

Ctrl + Shift + F — поиск в группе файлов (например в проекте или папке)

Ctrl + Shift + R — поиск и замена в группе файлов

Ctrl + N — найти в каком файле находится класс

*Ctrl + Shift + N — поиск файла по названию

Разное

Ctrl + Alt + S — быстрый доступ к настройкам

*Shift + F6 — переименование файла (выделите в блоке с файлами проекта нужный файл).

Источник

PhpStorm 2020.3: PHP 8, атрибуты, PHPStan и Psalm, Xdebug 3, Tailwind CSS и совместная разработка

phpstorm короткие теги php. Смотреть фото phpstorm короткие теги php. Смотреть картинку phpstorm короткие теги php. Картинка про phpstorm короткие теги php. Фото phpstorm короткие теги php

Рады представить финальный мажорный релиз PhpStorm в этом году! Под катом подробный разбор всех изменений и новых возможностей.

PHP 8

PHP 8.0 выпущен. Большое спасибо всем контрибьюторам и менеджерам релиза!

PhpStorm 2020.3 поддерживает все последние изменения языка. Давайте рассмотрим, что доступно и как это использовать в IDE.

Версия языка в статусбаре

Теперь в статусной строке всегда отображается текущая версия PHP проекта. Оттуда же можно переключить версию.

phpstorm короткие теги php. Смотреть фото phpstorm короткие теги php. Смотреть картинку phpstorm короткие теги php. Картинка про phpstorm короткие теги php. Фото phpstorm короткие теги php

Если переключатель не активен, это означает, что ограничение на версию PHP задано в composer.json.

Именованные аргументы

В PHP 8 аргументы функций и методов могут передаваться путем указания имени параметра. Вызовы теперь автоматически задокументированы, а необязательные параметры стали необязательными в полном смысле слова.

С помощью квик-фикса Add name identifiers можно добавить имена к аргументам:

phpstorm короткие теги php. Смотреть фото phpstorm короткие теги php. Смотреть картинку phpstorm короткие теги php. Картинка про phpstorm короткие теги php. Фото phpstorm короткие теги php

Опечатки или ошибочные имена аргументов подсвечиваются:

phpstorm короткие теги php. Смотреть фото phpstorm короткие теги php. Смотреть картинку phpstorm короткие теги php. Картинка про phpstorm короткие теги php. Фото phpstorm короткие теги php

Если передаваемое значение совпадает со значением параметра по умолчанию, то его можно смело удалить:

phpstorm короткие теги php. Смотреть фото phpstorm короткие теги php. Смотреть картинку phpstorm короткие теги php. Картинка про phpstorm короткие теги php. Фото phpstorm короткие теги php

Вместо массива options для передачи набора параметров можно использовать именованные аргументы, просто передавая только необходимые. Аргументы, передаваемые таким образом, в отличие от элементов массива, являются типобезопасными.

phpstorm короткие теги php. Смотреть фото phpstorm короткие теги php. Смотреть картинку phpstorm короткие теги php. Картинка про phpstorm короткие теги php. Фото phpstorm короткие теги php

Атрибуты

Атрибуты — это новый, структурированный способ указания метаданных в PHP вместо комментариев PHPDoc.

phpstorm короткие теги php. Смотреть фото phpstorm короткие теги php. Смотреть картинку phpstorm короткие теги php. Картинка про phpstorm короткие теги php. Фото phpstorm короткие теги php

А вот PhpStorm провалидирует все в редакторе, не запуская Reflection API. При этом проверяются следующие правила:

phpstorm короткие теги php. Смотреть фото phpstorm короткие теги php. Смотреть картинку phpstorm короткие теги php. Картинка про phpstorm короткие теги php. Фото phpstorm короткие теги php

Вот атрибуты в действии с Symfony:

phpstorm короткие теги php. Смотреть фото phpstorm короткие теги php. Смотреть картинку phpstorm короткие теги php. Картинка про phpstorm короткие теги php. Фото phpstorm короткие теги php

Штормовские атрибуты PHP 8

Их сразу же можно использовать в своей кодовой базе, ничего не подключая.

#[Deprecated]

Используйте этот атрибут как PHPDoc-тег @deprecated, чтобы пометить методы, классы или константы классов, которые будут удалены в будущем.

Преимущество тут в том, что можно указать замену для устаревшего кода и пользователю будет проще обновиться.

phpstorm короткие теги php. Смотреть фото phpstorm короткие теги php. Смотреть картинку phpstorm короткие теги php. Картинка про phpstorm короткие теги php. Фото phpstorm короткие теги php

#[ArrayShape]

Этот атрибут полезен для работы с простыми структурами данных или объектоподобными массивами, когда по какой-то причине нельзя объявить класс.

Синтаксис вот такой:

phpstorm короткие теги php. Смотреть фото phpstorm короткие теги php. Смотреть картинку phpstorm короткие теги php. Картинка про phpstorm короткие теги php. Фото phpstorm короткие теги php

Массив, который определяет «форму», можно вынести в константу и переиспользовать:

phpstorm короткие теги php. Смотреть фото phpstorm короткие теги php. Смотреть картинку phpstorm короткие теги php. Картинка про phpstorm короткие теги php. Фото phpstorm короткие теги php

К счастью, синтаксис однострочных атрибутов обратно совместим. То есть, если записать #[ArrayShape] в одну строку в проекте на PHP 7, то интерпретатор PHP воспримет эту строку как комментарий.

#[Immutable]

Неизменяемые объекты не могут быть изменены после инициализации или создания. Их использование делает состояние программы более предсказуемым и облегчает отладку.

Атрибутом #[Immutable] можно пометить весь класс или конкретные свойства, чтобы показать, что они не могут быть изменены.

PhpStorm будет проверять использование таких объектов и свойств и подсвечивать попытки изменения.

phpstorm короткие теги php. Смотреть фото phpstorm короткие теги php. Смотреть картинку phpstorm короткие теги php. Картинка про phpstorm короткие теги php. Фото phpstorm короткие теги php

phpstorm короткие теги php. Смотреть фото phpstorm короткие теги php. Смотреть картинку phpstorm короткие теги php. Картинка про phpstorm короткие теги php. Фото phpstorm короткие теги php

Этим атрибутом помечаются чистые функции, то есть те, которые не производят никаких побочных эффектов. Такие функции можно безопасно удалить, если результат их выполнения впоследствии не используется.

phpstorm короткие теги php. Смотреть фото phpstorm короткие теги php. Смотреть картинку phpstorm короткие теги php. Картинка про phpstorm короткие теги php. Фото phpstorm короткие теги php

Если функция помечена как чистая, но в ее теле есть попытка изменить что-то за пределами из внешнего скоупа, то PhpStorm подсветит небезопасный код.

phpstorm короткие теги php. Смотреть фото phpstorm короткие теги php. Смотреть картинку phpstorm короткие теги php. Картинка про phpstorm короткие теги php. Фото phpstorm короткие теги php

Все стандартные чистые функции PHP уже помечены этим атрибутом в PhpStorm.

#[ExpectedValues]

С помощью этого атрибута можно указать, какие значения функция принимает в качестве параметров, а какие может возвращать.

Например, рассмотрим функцию count:

Вот как атрибут #[ExpectedValues] улучшит ситуацию:

phpstorm короткие теги php. Смотреть фото phpstorm короткие теги php. Смотреть картинку phpstorm короткие теги php. Картинка про phpstorm короткие теги php. Фото phpstorm короткие теги php

То есть появилось автодополнение, а если передано что-то другое, то подсвечивается ошибка.

Еще один пример #[ExpectedValues]

Возьмем хелпер response() из Laravel. В качестве второго параметра он принимает статус код HTTP.

phpstorm короткие теги php. Смотреть фото phpstorm короткие теги php. Смотреть картинку phpstorm короткие теги php. Картинка про phpstorm короткие теги php. Фото phpstorm короткие теги php

Давайте исправим это, добавив атрибут #[ExpectedValues(valuesFromClass: Response::class)]

phpstorm короткие теги php. Смотреть фото phpstorm короткие теги php. Смотреть картинку phpstorm короткие теги php. Картинка про phpstorm короткие теги php. Фото phpstorm короткие теги php

#[NoReturn]

phpstorm короткие теги php. Смотреть фото phpstorm короткие теги php. Смотреть картинку phpstorm короткие теги php. Картинка про phpstorm короткие теги php. Фото phpstorm короткие теги php

#[Language]

Этот атрибут можно добавить к строковым параметрам, в которых ожидается текст на каком-либо языке, например RegExp, SQL, DQL и так далее.

Для аргументов появится подсветка и дополнительные возможности.

phpstorm короткие теги php. Смотреть фото phpstorm короткие теги php. Смотреть картинку phpstorm короткие теги php. Картинка про phpstorm короткие теги php. Фото phpstorm короткие теги php

Вернемся к новым возможностям PHP 8.

Объявление свойств в конструкторе

Обычные свойства можно преобразовать в promoted или обратно с помощью квик-фикса Convert to promoted property.

phpstorm короткие теги php. Смотреть фото phpstorm короткие теги php. Смотреть картинку phpstorm короткие теги php. Картинка про phpstorm короткие теги php. Фото phpstorm короткие теги php

phpstorm короткие теги php. Смотреть фото phpstorm короткие теги php. Смотреть картинку phpstorm короткие теги php. Картинка про phpstorm короткие теги php. Фото phpstorm короткие теги php
phpstorm короткие теги php. Смотреть фото phpstorm короткие теги php. Смотреть картинку phpstorm короткие теги php. Картинка про phpstorm короткие теги php. Фото phpstorm короткие теги php

Если свойство объявлено новым способом, но в теле конструктора осталась инициализация, то PhpStorm предложит ее удалить.

phpstorm короткие теги php. Смотреть фото phpstorm короткие теги php. Смотреть картинку phpstorm короткие теги php. Картинка про phpstorm короткие теги php. Фото phpstorm короткие теги php

Выражение match

phpstorm короткие теги php. Смотреть фото phpstorm короткие теги php. Смотреть картинку phpstorm короткие теги php. Картинка про phpstorm короткие теги php. Фото phpstorm короткие теги php

Может быть трудно увидеть неправильное использование нового выражения, поэтому PhpStorm подсветит все ошибки.

phpstorm короткие теги php. Смотреть фото phpstorm короткие теги php. Смотреть картинку phpstorm короткие теги php. Картинка про phpstorm короткие теги php. Фото phpstorm короткие теги php
phpstorm короткие теги php. Смотреть фото phpstorm короткие теги php. Смотреть картинку phpstorm короткие теги php. Картинка про phpstorm короткие теги php. Фото phpstorm короткие теги php

Будут обнаружены дублирующиеся значения в условиях:

phpstorm короткие теги php. Смотреть фото phpstorm короткие теги php. Смотреть картинку phpstorm короткие теги php. Картинка про phpstorm короткие теги php. Фото phpstorm короткие теги php

Выражение match с одной веткой и веткой по умолчанию может быть безопасно заменено на тернарное выражение.

phpstorm короткие теги php. Смотреть фото phpstorm короткие теги php. Смотреть картинку phpstorm короткие теги php. Картинка про phpstorm короткие теги php. Фото phpstorm короткие теги php

А если осталась только ветка по умолчанию, то соответствие match вообще не понадобится.

phpstorm короткие теги php. Смотреть фото phpstorm короткие теги php. Смотреть картинку phpstorm короткие теги php. Картинка про phpstorm короткие теги php. Фото phpstorm короткие теги php

Наконец, если в разных ветвях одинаковые тела, они могут быть объединены.

phpstorm короткие теги php. Смотреть фото phpstorm короткие теги php. Смотреть картинку phpstorm короткие теги php. Картинка про phpstorm короткие теги php. Фото phpstorm короткие теги php

Оператор nullsafe

PhpStorm проверит правильность использования оператора:

phpstorm короткие теги php. Смотреть фото phpstorm короткие теги php. Смотреть картинку phpstorm короткие теги php. Картинка про phpstorm короткие теги php. Фото phpstorm короткие теги php

Висячая запятая

phpstorm короткие теги php. Смотреть фото phpstorm короткие теги php. Смотреть картинку phpstorm короткие теги php. Картинка про phpstorm короткие теги php. Фото phpstorm короткие теги php

Non-capturing catches

В PHP 8 можно ловить исключение в catch-блоке без переменной.

phpstorm короткие теги php. Смотреть фото phpstorm короткие теги php. Смотреть картинку phpstorm короткие теги php. Картинка про phpstorm короткие теги php. Фото phpstorm короткие теги php

Выражение throw

phpstorm короткие теги php. Смотреть фото phpstorm короткие теги php. Смотреть картинку phpstorm короткие теги php. Картинка про phpstorm короткие теги php. Фото phpstorm короткие теги php

Можно использовать сокращение thr и нажать tab — это live template.

phpstorm короткие теги php. Смотреть фото phpstorm короткие теги php. Смотреть картинку phpstorm короткие теги php. Картинка про phpstorm короткие теги php. Фото phpstorm короткие теги php

Константа ::class на объектах

Собственно, по нажатию Alt+Enter такую замену и можно сделать. Неправильное использование константы ::class PhpStorm подсветит.

phpstorm короткие теги php. Смотреть фото phpstorm короткие теги php. Смотреть картинку phpstorm короткие теги php. Картинка про phpstorm короткие теги php. Фото phpstorm короткие теги php

Новые функции для строк: str_contains(), str_starts_with(), str_ends_with()

phpstorm короткие теги php. Смотреть фото phpstorm короткие теги php. Смотреть картинку phpstorm короткие теги php. Картинка про phpstorm короткие теги php. Фото phpstorm короткие теги php

Есть также новые str_starts_with() и str_ends_with() для определения того, начинается или заканчивается ли строка определенной подстрокой. PhpStorm подсвечивает, где вызовы substr() можно заменить новыми альтернативами:

phpstorm короткие теги php. Смотреть фото phpstorm короткие теги php. Смотреть картинку phpstorm короткие теги php. Картинка про phpstorm короткие теги php. Фото phpstorm короткие теги php

Reclassified engine warnings

В PHP 8 для многих ошибок был пересмотрен тип бросаемого предупреждения. А именно, вместо Notice во многих случаях будет Exception или Type Error.

В PhpStorm в связи с этим некоторые инспекции имеют два разных уровня severity: для PHP 8 и для более старых версий.

phpstorm короткие теги php. Смотреть фото phpstorm короткие теги php. Смотреть картинку phpstorm короткие теги php. Картинка про phpstorm короткие теги php. Фото phpstorm короткие теги php

Это все из наиболее заметного по PHP 8. Есть еще целая куча изменений помельче, которые будут видны при обновлении на PHP 8.

Поддержка Psalm и PHPStan

Оба статических анализатора можно использовать в PhpStorm 2020.3 для подсветки проблем непосредственно в редакторе.

phpstorm короткие теги php. Смотреть фото phpstorm короткие теги php. Смотреть картинку phpstorm короткие теги php. Картинка про phpstorm короткие теги php. Фото phpstorm короткие теги php

phpstorm короткие теги php. Смотреть фото phpstorm короткие теги php. Смотреть картинку phpstorm короткие теги php. Картинка про phpstorm короткие теги php. Фото phpstorm короткие теги php

Оттуда можно перейти к настройкам инспекции и включить подсветку в редакторе. Это делается выбором соответствующей инспекции в списке PHP | Quality tools в Settings/Preferences | Editor | Inspections.

️ Лучше включить только один из инструментов, а не оба одновременно.

phpstorm короткие теги php. Смотреть фото phpstorm короткие теги php. Смотреть картинку phpstorm короткие теги php. Картинка про phpstorm короткие теги php. Фото phpstorm короткие теги php

Тут же можно указать путь к конфигурационному файлу и настроить аргументы командной строки.

Когда все настроено, откройте любой файл, и вы увидите подсветку от статических анализаторов. Может быть небольшая задержка перед тем, как появится подсветка.

phpstorm короткие теги php. Смотреть фото phpstorm короткие теги php. Смотреть картинку phpstorm короткие теги php. Картинка про phpstorm короткие теги php. Фото phpstorm короткие теги php

Аннотации

phpstorm короткие теги php. Смотреть фото phpstorm короткие теги php. Смотреть картинку phpstorm короткие теги php. Картинка про phpstorm короткие теги php. Фото phpstorm короткие теги php

Поддержка типов

Добавили поддержку некоторых типов Psalm и на основе информации из тегов улучшили наш вывод типов. Это сделало более точными проверки, генерацию кода и автодополнение.

Псевдотипы
Поддерживаются псалмовские псевдотипы, такие как scalar, numeric и т. п.

phpstorm короткие теги php. Смотреть фото phpstorm короткие теги php. Смотреть картинку phpstorm короткие теги php. Картинка про phpstorm короткие теги php. Фото phpstorm короткие теги php

Константы в типах
Пожжерживаются объединения констант и указание через * в тегах param и var.

phpstorm короткие теги php. Смотреть фото phpstorm короткие теги php. Смотреть картинку phpstorm короткие теги php. Картинка про phpstorm короткие теги php. Фото phpstorm короткие теги php

Тайпхинты для массивов
Описания массивов array тоже поддерживаются, в том числе вложенные.

phpstorm короткие теги php. Смотреть фото phpstorm короткие теги php. Смотреть картинку phpstorm короткие теги php. Картинка про phpstorm короткие теги php. Фото phpstorm короткие теги php

Дженерики и @tempate
Поддержка дженериков — фича для продвинутых пользователей, у которой нет полной корректной спецификации и много граничных случаев. Тем не менее мы решили реализовать базовую поддержку для @template на основе синтаксиса Псалма, чтобы посмотреть, как это будет использоваться.

Пока поддерживается только самый примитивный случай, когда функция возвращает один из своих параметров.

phpstorm короткие теги php. Смотреть фото phpstorm короткие теги php. Смотреть картинку phpstorm короткие теги php. Картинка про phpstorm короткие теги php. Фото phpstorm короткие теги php

Эта поддержка дженериков является очень базовой, ее можно считать экспериментальной. Хотим понять, как это будет использоваться и что нужно реализовать в первую очередь. Будем рады обратной связи, особенно в виде реальных примеров использования в наш трекер.

Xdebug 3

Обновился популярный отладчик для PHP, теперь он значительно быстрее в работе и проще в настройке. Более подробно об Xdebug 3 читайте в документе Upgrade guide.

Чтобы сконфигурировать Xdebug 3, теперь достаточно одной опции xdebug.mode (например так XDEBUG_MODE=debug ).

phpstorm короткие теги php. Смотреть фото phpstorm короткие теги php. Смотреть картинку phpstorm короткие теги php. Картинка про phpstorm короткие теги php. Фото phpstorm короткие теги php

Улучшения отладчика

Возможности по отладке в PhpStorm расширились двумя новыми фишками.

Интеркактивные хинты
Теперь в отладочном режиме вывод переменных можно развернуть, чтобы увидеть все поля. Тут же можно и изменить значения.

phpstorm короткие теги php. Смотреть фото phpstorm короткие теги php. Смотреть картинку phpstorm короткие теги php. Картинка про phpstorm короткие теги php. Фото phpstorm короткие теги php

Inline Watches
В предыдущих версиях можно было добавить переменную или выражение в список watch и наблюдать, как меняется значение по шагам.

В PhpStorm 2020.3 можно добавлять вотчи непосредственно к контексте, и они будут отображаться рядом с кодом.

Нажмите Add as Inline Watch в попапе на хинте.
phpstorm короткие теги php. Смотреть фото phpstorm короткие теги php. Смотреть картинку phpstorm короткие теги php. Картинка про phpstorm короткие теги php. Фото phpstorm короткие теги php

Или нажмите Add Inline Watch в контекстном меню редактора.
phpstorm короткие теги php. Смотреть фото phpstorm короткие теги php. Смотреть картинку phpstorm короткие теги php. Картинка про phpstorm короткие теги php. Фото phpstorm короткие теги php

Или выделите переменную и в контекстном меню выберите Add Inline Watch.
phpstorm короткие теги php. Смотреть фото phpstorm короткие теги php. Смотреть картинку phpstorm короткие теги php. Картинка про phpstorm короткие теги php. Фото phpstorm короткие теги php

Подсветка и переименование переменных в Twig

Выберите переменную или поместите на нее курсор, и все ее использования в шаблоне будут подсвечены. А чтобы переименовать все вхождения, нажмите Shift + F6.

phpstorm короткие теги php. Смотреть фото phpstorm короткие теги php. Смотреть картинку phpstorm короткие теги php. Картинка про phpstorm короткие теги php. Фото phpstorm короткие теги php

Совместная разработка – Code With Me

В PhpStorm 2020.3 встроен плагин Code With Me — новый инструмент JetBrains для совместной разработки и парного программирования. С помощью него можно расшарить открытый проект с другими пользователями и работать над ним вместе в режиме реального времени. Подробнее про Code With Me в этих постах.

phpstorm короткие теги php. Смотреть фото phpstorm короткие теги php. Смотреть картинку phpstorm короткие теги php. Картинка про phpstorm короткие теги php. Фото phpstorm короткие теги php

HTTP-клиент

Интеграция Guzzle с HTTP-клиентом в PhpStorm

Guzzle — один самых популярных HTTP клиентов для PHP. Представьте, что где-то в коде есть HTTP-запрос и хочется его потестировать, не запуская сам код. Раньше пришлось бы копировать все параметры вручную.

phpstorm короткие теги php. Смотреть фото phpstorm короткие теги php. Смотреть картинку phpstorm короткие теги php. Картинка про phpstorm короткие теги php. Фото phpstorm короткие теги php

Теперь из редактора запрос можно запустить и поиграться с ним, а затем сохранить его как http-файл в проекте.

Больше об HTTP-клиенте в видеообзоре.

Копировать HTTP-запрос в cURL

Чтобы экспортировать HTTP-запрос в cURL-строку, нажмите Alt+Enter на запросе в редакторе и выберите Convert to cURL and copy to clipboard. Теперь его можно вставить в терминал, документацию или любой инструмент тестирования API.

phpstorm короткие теги php. Смотреть фото phpstorm короткие теги php. Смотреть картинку phpstorm короткие теги php. Картинка про phpstorm короткие теги php. Фото phpstorm короткие теги php

Редактор

Улучшения для Markdown

Для описания диаграмм и графиков можно использовать синтаксис Mermaid.js в markdown-файлах. PhpStorm теперь умеет рендерить превью для них прямо в редакторе. Включается в Preferences/Settings | Languages & Frameworks | Markdown.

phpstorm короткие теги php. Смотреть фото phpstorm короткие теги php. Смотреть картинку phpstorm короткие теги php. Картинка про phpstorm короткие теги php. Фото phpstorm короткие теги php

Настраивается в Preferences/Settings | Editor | Code Style | Markdown.

phpstorm короткие теги php. Смотреть фото phpstorm короткие теги php. Смотреть картинку phpstorm короткие теги php. Картинка про phpstorm короткие теги php. Фото phpstorm короткие теги php

И наконец, если нажать кнопку Auto-Scroll Preview в правом верхнем углу редактора, то прокрутка превью и текста будет синхронизирована.

Улучшена проверка орфографии и грамматики

phpstorm короткие теги php. Смотреть фото phpstorm короткие теги php. Смотреть картинку phpstorm короткие теги php. Картинка про phpstorm короткие теги php. Фото phpstorm короткие теги php

Сплит редактора перетаскиванием

Чтобы открыть несколько файлов бок о бок, просто перетащите вкладку в нужный угол экрана.

phpstorm короткие теги php. Смотреть фото phpstorm короткие теги php. Смотреть картинку phpstorm короткие теги php. Картинка про phpstorm короткие теги php. Фото phpstorm короткие теги php

Есть еще один способ открыть файл в сплит-режиме — Shift+Enter.
Комбинацию можно нажать на выбранном файле в Project view или в результатах поиска по файлам.

phpstorm короткие теги php. Смотреть фото phpstorm короткие теги php. Смотреть картинку phpstorm короткие теги php. Картинка про phpstorm короткие теги php. Фото phpstorm короткие теги php

Вкладка предпросмотра

Если нужно быстро просмотреть файлы, то теперь не обязательно открывать каждый в отдельной вкладке. Можно использовать новую вкладку Preview tab.

Чтобы включить ее, нажмите на шестеренку в Project view и выберите Enable Preview Tab и Open Files with Single Click.

phpstorm короткие теги php. Смотреть фото phpstorm короткие теги php. Смотреть картинку phpstorm короткие теги php. Картинка про phpstorm короткие теги php. Фото phpstorm короткие теги php

Еще можно просматривать файлы нажатием пробела в Project view, не открывая их.

phpstorm короткие теги php. Смотреть фото phpstorm короткие теги php. Смотреть картинку phpstorm короткие теги php. Картинка про phpstorm короткие теги php. Фото phpstorm короткие теги php

Улучшения для Search Everywhere

Результаты сгруппированы по релевантности:
phpstorm короткие теги php. Смотреть фото phpstorm короткие теги php. Смотреть картинку phpstorm короткие теги php. Картинка про phpstorm короткие теги php. Фото phpstorm короткие теги php

Можно делать простые математические операции и не открывать гугл калькулятор:
phpstorm короткие теги php. Смотреть фото phpstorm короткие теги php. Смотреть картинку phpstorm короткие теги php. Картинка про phpstorm короткие теги php. Фото phpstorm короткие теги php

Можно искать по истории Git:
phpstorm короткие теги php. Смотреть фото phpstorm короткие теги php. Смотреть картинку phpstorm короткие теги php. Картинка про phpstorm короткие теги php. Фото phpstorm короткие теги php

Автоматическое переключение на светлую или темную тему

В Preferences/Settings | Appearance & Behavior | Appearance | Theme выберите Sync with OS.

phpstorm короткие теги php. Смотреть фото phpstorm короткие теги php. Смотреть картинку phpstorm короткие теги php. Картинка про phpstorm короткие теги php. Фото phpstorm короткие теги php

Новый набор горячих клавиш для macOS

Альтернативная раскладка горячих клавиш для macOS минимизирует использование функциональных клавиш, чтобы не надо было растягивать руку на всю клавиатуру при совершении основных действий. Например, вместо Fn+Shift+F6 для Rename рефакторинга используется ⌥+⌘+R.

phpstorm короткие теги php. Смотреть фото phpstorm короткие теги php. Смотреть картинку phpstorm короткие теги php. Картинка про phpstorm короткие теги php. Фото phpstorm короткие теги php

Слова вместо иконок для горячих клавиш macOS

Можно сделать так, чтобы вместо иконок типа ⌥ ⌘ отображались слова Alt, Cmd и т. п.

Включается в секции Registry опцией ide.macos.disable.native.shortcut.symbols. Чтобы получить доступ к реестру, используйте Find Action Cmd+Shift+A и напишите там Registry.

Установить PhpStorm как приложение по умолчанию для разных файлов

В Preferences | Settings / Editor / File Types нажать Associate file types with PhpStorm…. В диалоговом окне выберите расширения для файлов, и они будут открываться в PhpStorm.

На macOS требуется перезагрузка.

phpstorm короткие теги php. Смотреть фото phpstorm короткие теги php. Смотреть картинку phpstorm короткие теги php. Картинка про phpstorm короткие теги php. Фото phpstorm короткие теги php

Шаблоны могут генерировать несколько файлов

Можно одновременно сгенерировать сразу несколько файлов, например скелет для модуля или комбо контроллер-вью.

В Preferences / Settings | Editor | File and Code Templates нажать на phpstorm короткие теги php. Смотреть фото phpstorm короткие теги php. Смотреть картинку phpstorm короткие теги php. Картинка про phpstorm короткие теги php. Фото phpstorm короткие теги php, чтобы создать новый шаблон, а затем нажать на иконку Create Child Template File phpstorm короткие теги php. Смотреть фото phpstorm короткие теги php. Смотреть картинку phpstorm короткие теги php. Картинка про phpstorm короткие теги php. Фото phpstorm короткие теги php.

phpstorm короткие теги php. Смотреть фото phpstorm короткие теги php. Смотреть картинку phpstorm короткие теги php. Картинка про phpstorm короткие теги php. Фото phpstorm короткие теги php

А вот пример того, как сгенерировать контроллер и шаблон в Symfony:

phpstorm короткие теги php. Смотреть фото phpstorm короткие теги php. Смотреть картинку phpstorm короткие теги php. Картинка про phpstorm короткие теги php. Фото phpstorm короткие теги php

Поддержка Git stage

Включить можно чекбоксом Enable staging area в Preferences/Settings | Version Control | Git.

В окне инструментов Commit (Cmd+0 / Alt+0) появятся две группы файлов: staged и unstaged.

Чтобы добавить файл в staged, нажмите на + напротив него.

phpstorm короткие теги php. Смотреть фото phpstorm короткие теги php. Смотреть картинку phpstorm короткие теги php. Картинка про phpstorm короткие теги php. Фото phpstorm короткие теги php

Или можно выбрать конкретные строки и добавить их иконкой в редакторе. В этом случае можно закоммитить часть изменений из файла, а над остальными продолжить работу.

phpstorm короткие теги php. Смотреть фото phpstorm короткие теги php. Смотреть картинку phpstorm короткие теги php. Картинка про phpstorm короткие теги php. Фото phpstorm короткие теги php

Инструменты БД

PhpStorm «из коробки» включает в себя возможности DataGrip, которые охвачены в обзоре релиза DataGrip 2020.3 от наших коллег.

SQL для MongoDB

Теперь можно использовать SQL-запросы к MongoDB. PhpStorm 2020.3 поддерживает SELECT- запросы с JOIN , WHERE , GROUP BY , HAVING , ORDER BY , LIMIT , OFFSET и всеми функциями MongoDB кроме map, reduce, filter и let. Подробнее в блог-посте.

phpstorm короткие теги php. Смотреть фото phpstorm короткие теги php. Смотреть картинку phpstorm короткие теги php. Картинка про phpstorm короткие теги php. Фото phpstorm короткие теги php

Как всегда, в PhpStorm входят все обновления из WebStorm 2020.3. Наиболее примечательной является поддержка Tailwind CSS.

Tailwind CSS

PhpStorm дополняет классы Tailwind в HTML-файлах и после директивы @apply. А также предоставит автодополнение псевдо-классов.

phpstorm короткие теги php. Смотреть фото phpstorm короткие теги php. Смотреть картинку phpstorm короткие теги php. Картинка про phpstorm короткие теги php. Фото phpstorm короткие теги php

Если навести указатель на класс в HTML и CSS файлах, то отобразится предпросмотр полученного CSS. Предпросмотр также доступен при автодополнении кода, во всплывающем окне документации F1 / Ctrl+Q.

phpstorm короткие теги php. Смотреть фото phpstorm короткие теги php. Смотреть картинку phpstorm короткие теги php. Картинка про phpstorm короткие теги php. Фото phpstorm короткие теги php

PhpStorm поддерживает настройки из tailwind.config.js. Например, если определить тему с новыми цветами, то во всплывающем окне автодополнения будут созданные классы с именем кастомного цвета.

phpstorm короткие теги php. Смотреть фото phpstorm короткие теги php. Смотреть картинку phpstorm короткие теги php. Картинка про phpstorm короткие теги php. Фото phpstorm короткие теги php

Скачать PhpStorm 2020.3 можно на странице “What’s new”.

А вот видеоролик (на английском) с демонстрацией главных фич релиза:

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *