Фишки 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.

Ускорение PhpStorm, способ 2 — вынос кэша в оперативную память (ОЗУ) устройства

За способ большое спасибо Max Payne, описанный здесь

Суть способа заключается в том, чтобы весь кэш программы PhpStorm вынести из ПЗУ* в ОЗУ*. Данный способ, к сожалению, а может и к счастью, работает только под Linux!

За его работу отвечает shell скрипт, который автосинхронизирует все данные из кэша в ОЗУ. Я не буду переписывать инструкцию, а просто дам ссылку на github автора. Все очень просто: https://github.com/iusmac/phpstorm_icache

Удачи!

* ОЗУ — оперативно запоминающее устройство, RAM или оператива 🙂 кому как удобно.
* ПЗУ — постоянно запоминающее устройство или HDD — жесткий диск.

Установка phpstorm в Kubuntu (kde, ubuntu)

Несомненно phpstorm, лично для меня, является эталоном IDE для разработки. Я пользуюсь им наверное с самой первой версии и по сей день. Программа каждый день становится все лучше и лучше! В конце 2018 года я мигрировать на Kubuntu Linux) до сегодняшнего дня, у меня не было времени программировать и только сейчас дошли руки до установки этой софтины.

Как оказалось, установит и настроить phpstorm на ваш kde очень просто. Чтобы это сделать и не ломать себе голову, нужно сделать следующее:

1. Скачать с офф. сайта https://www.jetbrains.com/phpstorm/

2. Распаковать в любую папку на вашем ПК. (У меня это ~/soft/phpstorm)

3. Зайти в папку программы, далее bin и запустить phpstorm.sh. (У меня это ~/soft/phpstorm/bin/phpstorm.sh)

4. Проведите первоначальную настройку программы.

Готово теперь вы можете пользоваться phpstorm на вашем Kubuntu (kde, Ubuntu).