Блог веб-разработчика v 1.0.0
Symfony2, AngularJS, React, Gulp, PhpStorm и много других страшных слов

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

3 года назад
8513 просмотров
PhpStorm Полезности

Коротко о главном

Речь в статье идет о последней на момент ее написания версии, восьмой. Так же я использую PhpStorm на Windows, поэтому и все хоткеи буду писать с упоминанием Ctrl и Alt. Если у вас Mac, скорее всего вместо них можно жать CMD, либо придется порыться во вкладке Keymap настроек.

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

Довольно банальная функция, но многие о ней и не подозревают. Поставьте курсор внутрь класса и нажмите Alt + Insert. Появится меню автогенерации кода. Можно создавать конструкторы, геттеры/сеттеры (сразу для нескольких выбранных вами свойств), PHPDoc блоки, а так же реализовывать методы интерфейсов или переопределять методы родительского класса.

Очень удобно работает реализация/переопределение методов. Автоматически именуются параметры и создается PHPDoc. Так же можно по-быстрому вызвать только переопределение методов (Ctrl + O) или только реализацию иинтерфейсов (Ctrl + I).

Понажимайте Alt + Enter в различных положениях курсора. Например, на неимпортированном классе, это позволит автоматически импортировать его. А вообще это мега сочетание, которое умеет очень многое.

Форматирование кода

Совсем очевидная фича, но некоторые о ней не знают. По нажатию Ctrl + Alt + L осуществляется автоформатирование текущего файла, либо выбранного фрагмета кода. Если в дереве проекта выбрать файл и нажать то же сочетание, то он полностью будет отформатирован. Можно так же выбрать папку и будет отформатирована все файлы в этой папке.

Рефакторинг

PhpStorm умеет кучу всего: выделять одинаковые участки кода в метод (Extract -> Method), выделять участки кода в переменную (Extract -> Variable), выделять поля и константы. Просто покапайтесь в разделе Refactoring. Или есть прекрасная статья на эту тему.

Переключение проектов

Стандартный механизм переключения проектов не слишком удобен. Я советую использовать Frame Switcher для быстрого переключения между проектами.

Задачи

Если вы еще не пользуетесь системой контроля версий в PhpStorm, то самое время начать. Именно потому, что в этой IDE реализована потрясающая система разбиения текущих изменений на задачи (tasks).

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

PhpStorm решает эту проблему за вас. Все что вам нужно, создать отдельную задачу (Task) или Changelist (не понял в чем между ними принципиальная разница, если кто-то объяснит, опубликую), назначить его активным и сделать быструю правку. При этом вы увидите, что PhpStorm отнесет изменения в файлах к вашей активной задаче. А если вы случайно затроните файлы из другой параллельной задачи, то увидите предупреждение.

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

Быстрое открытие файла аля SublimeText

По Ctrl + N можно быстро открыть файл с нужным классом, а по Shift + Ctrl + N вообще любой файл по имени. А через Ctrl + Shift + Alt + N можно найти любой "символ", т.е. переменную, функцию и т.п.

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

Нажимая Ctrl + Shift + 0..9 можно оставлять в проекте метки. Чтобы быстро перейти к какой-либо метке нужно нажать Ctrl + 0..9 (номер метки).

Быстрое обертывание

Выделив фрагмент кода и нажав Ctrl + Alt + T можно быстро обернуть блок в if-else или какой-либо цикл. Так же при редактировании HTML срабатывает Ctrl + Alt + Enter. Это обертывание с помощью Emmet.

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

PhpStorm имеет очень няшное окно diif-а, т.е. сравнения двух файлов. Если в дереве проекта выделить пару файлов и нажать Ctrl + D, то можно сравнить содержимое этих двух файлов.

Список использований

Не уверены, используется ли где-то ваш метод? Поставьте на него курсор и нажмите Ctrl + F7. Появится список использований метода, переменной или другого "символа". Можно использовать Ctrl + Alt + F7, тогда список появится в виде контекстного меню, что иногда чуть удобнее.

Быстрый переход к объявлению

Все вкурсе, что по Ctrl + клик можно перейти к определению "символа". Но по нажатию Ctrl + Alt + Left можно вернуться назад. А по Ctrl + Shift + Backspace можно вернуться к последнему месту редактирования кода, если вы вдруг заблудились в длинном скролле.

Мульти буфер обмена

Как часто бывало, что скопированное в буфер терялось из-за еще одного копирования? PhpStorm из коробки запоминает все что было в буфере и можно использовать Ctrl + Shift + V для вставки прошлых значений.

Автогенерация спрайтов

Автоматическая генерация CSS спрайтов не доступна из коробки, однако настраивается за 15 минут без особых проблем. В итоге вы получите полностью автоматическое создание PNG спрайтов с готовыми CSS/LESS стилями.

Что еще почитать
Удобное переключение проектов в PhpStorm
3 года назад
3924 просмотра
Если ты перешел на PhpStorm из SublimeText, то скорее всего скучаешь по удобному переключению проектов. Одно сочетание клавиш и вот тебе нечеткий поиск по списку всех проектов.