Полезные фичи в PHPSTORM

Рейтинг: 0Ответов: 2Опубликовано: 09.12.2014

Кто знает о полезных фичах в phpstorm, например как просканировать коды на ошибки и форматирование.

Ответы

▲ 6Принят
help->productivity guide

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

▲ 5

как просканировать коды на ошибки и форматирование.

делается автоматом

полезные фичи

  • PHPMD и PHPCS в inspections. Придется установить из локально, и, возможно, написать собственные xml'ки, зато потом эта штука будет автоматом подсвечивать слишком засоренные участки кода
  • Run configurations. На эту кнопку стоит вывести "обнуление приложения", чтобы без проблем начинать с чистого листа, туда же можно вывести команды с тестовым функционалом, чтобы их без проблем отдебажить. Можно создать команду validate, которая будет прогонять тесты и общую валидацию проекта, и запускать перед коммитом.
  • Refactor. Тут и в целый комментарий не влезет, но это просто охрененная штука.
  • File watchers. Это наикрутейшая штука, которая, правда, редко нужна. В основном это автокомпиляция всяких less при изменении, но за пару минут можно прикрутить (!) автотесты на класс - просто выдеруть путь к классу в проекте, подставить Test.php и нужную команду, например, phpunit - и при любом сохранении автоматом будет вылетать предупреждение о неверном выполнении (т.е., если тесты не прошли). Я до сих пор у себя это не развернул, но это должно быть просто божественно в условиях неторопливой разработки.
  • Key promoter plugin. Быстро научит пользоваться хоткеями, хотя в некоторых местах без мыши не обойтись и он начинает подбешивать.
  • Поддержка нескольких репозиториев внутри проекта. У меня прямо сейчас с этим некоторые проблемы, но это безумно круто, черт побери.
  • Самый обычный дебаг с xDebug. При нормально идущей разработке всегда стоит пользоваться им вместо вардампов и прочего отстоя.
  • Интеграция с TeamCity и Jenkins. Еще не пробовал, но так или иначе проект надо верифицировать перед коммитом, и если есть возможность прогнать тестовый билд - это вообще невероятно.
  • При установке зависимостей можно пометить папку vendor как excluded, и кинуть ее же в include path в секции PHP настроек проекта. В результате все классы будут доступны внутри проекта, но их не затронет при рефакторинге.

Обновление

Я попробую попозже написать подробный пост, но если вкратце:

  • Можно изменить имя класса сразу во всех упоминаниях в проекте. Спасает от ада с ошибками "класс не найден"
  • Аналогично - переименование перемнной внутри функции. Shift + F6, десять секунд затраченного времени - и никакой фрустрации от того, что где-то остались криво названные переменные.
  • Как только становится ясно, что кода в методе/функции слишком много - нужный выделяется, нажимается refactor - extract - method, и выбранный код отправляется в новый метод класса.
  • Автогенерация геттеров/сеттеров