Фишки PHP Storm. Разновидности поиска

Одна из самый ценных функцию в PHP Storm — это встроенные инструменты поиска. Ниже представлены комбинации клавиш для вызова различных способов поиска.

[SHIFT] + [SHIFT]

Искать везде!

[CMD] + N – Find by Class Name

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

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

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

Поиск по имени файла. Аналогично поиску по имени класса использует «умный поиск». Для нахождения файла по вложенности можно использовать слеш: some/deep/dir/with/file.txt найдется по «s/d/d/w/f»

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

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

[ALT] + [F7] – Find Usages

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

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

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

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

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

 

Фишки PHP Storm. Tasks

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

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

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

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

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

Фишки PHP Storm. Автоформатирование кода

Я по своей натуре перфекционист, и, очень люблю когда код структурировал, соблюдены все отступы — т.е. все ясно и понятно.

Когда работал программистом, очень много времени тратил на то, чтобы привести в порядок код. Недавно узнал про Автоформатирование кода в PHPStorm! Да я прозрел!!! 😀

Ближе к делу [CTRL] + [ALT] + L и IDE отформатирует код в соответствии с настройками (Preferences -> Project Settings -> Code Style -> PHP)

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

Для каждого языка можно задать свой стиль оформления, причем для PHP также можно выбрать один из предзаданных стилей:

  • PEAR
  • Zend
  • Symfony
  • Drupal
  • PSR1\PSR2
  • WordPress

Удачи!

Фишки PHP Storm. Множественные курсоры в выделение

PhpStorm предоставляет очень удобный инструмент для разработчика — Множественные курсоры и множественное выделение

Для того, чтобы расставить курсоры можно с помощью Alt+Click; добавить следующее совпадение в выделение: Alt+J для Windows и Ctrl-G для Mac; удалить совпадение из выделения: Alt+Shift+J для Windows и Ctrl-Shift-G для Mac; удалить все выделения и курсоры: Esc.