PhpStorm - Топ производительных хаков и комбинаций клавиш.
Конечно же у каждого из нас есть любимые IDE/редакторы, которые мы предпочитаем использовать во время кодирования. Мой – это PhpStorm, и я пользуюсь им, как мастером для создания ярлыков и быстрого рабочего процесса. В этой статье я продемонстрирую несколько сочетаний клавиш и дам несколько подсказок, которые помогут вам избежать рутинной работы с IDE.
Заметьте: я делаю свои разработки на Linux, размещённых на Windows, поэтому мои ярлыки могут отличаться от ваших. Но ссылки карт JetBrains прекрасно им соответствуют, а вообще существует OS X альтернатива: Справочное руководство.
Сочетания клавиш и хаки.
Высокая конфигурация PhpStorm (почти с таким же IDE как на Андроиде) позволяет вам проводить точные настройки – вы можете сделать инструменты настолько личными, что людям, открывающим ваши настройки, будет казаться другое IDE. Давайте посмотрим на некоторые сочетания клавиш и хаки, которые мы вам настоятельно советуем использовать в дальнейшем:
• CTRL + ALT + L, одна из самых моих часто используемых клавиатурных комбинаций, немедленно отформатирует ваш код, в соответствии с выбранным стилем руководящей инструкции.
Более того, как мы видим на всплывающем окне появляющейся выше анимации, вы можете выбрать настройку «поменять формат всего проекта». Если вы используйте эту функцию чрезмерно и при этом работаете над данным проектом в одиночку, вы можете выбрать другую метку – привязать макрос к CTRL+S, и тогда PhpStorm автоматически будет изменять формат кода после каждого вашего ручного сохранения. Однако заметьте, что если над проектом с вами работает кто-нибудь ещё, тогда это может вызвать слишком частое выполнение рефакторинга в различных файлах, и привести к загрязнению системы контроля изменений, которая в последующем из-за этого вообще не будут изменяться. Если вы работаете на Linux, сочетание CTRL+ALT+L можно связать с “Заблокировать Экран”, тогда вам надо будет освобождаться от этой системы или изменять её в настройках PhpStorm.
• Зажимая CTRL+SHIFT+Backspace или используя кнопки мыши «Вперёд» и «Назад», вы сможете просматривать раннее отредактированные места. Это сочетание является очень полезным, когда вы имеете дела с очень большим файлом, а вам надо перенестись в другую его часть, а потом снова вернуться к тому же месту и продолжить работу:
• Удерживая CTRL и наводя курсор на переменные или методы, вы получаете полное имя или месторасположение декларации, в то время как CTRL+щелчок на переменную или метод , или удерживание CTRL+B приведут вас прямо к месту, где эта переменная или метод определяются(объявляются):
• CTRL+Space вызовут спрятанные подсказки кода диалогового окна, в случае если вы ненароком закрыли это окно или по каким-то причинам оно не открылось:
• Когда PhpStorm обнаруживает какую-то проблемы, то он выделяет проблематическую зону и вызывает лампочку, на которую вы должны навести курсор мышкой или клавиатурой. Нажмите на лампочку или удерживайте ALT+Enter, после этого появится окно с вариантами исправлений на любом языке:
• CTRL+N и CTRL+SHIFT+N позволят вам мгновенно переместиться в любую часть любого класса или файла всего проекта:
Поиск не является строгим, а также поддерживает номера строк, вы можете использовать следующее сокращение: ХХ, где ХХ – номер строки:
• Если вы любите следующую способность Sublime: искать что-либо по командам IDE, тогда можете делать и так. CTRL+SHIFT+A предоставит поиск запрошенной команды. Забыли каким стал код после форматирования? Просто нажмите CTRL+SHIFT+A и печатайте “refor..”:
• Чтобы создавать HTML без полного его написания, используйте Emmet (основанный на PhpStorm). Напечатайте div#myDiv>span.mySpanClass>ul>li*5 , тогда появится всплывающая таблица:
Дальнейшие расширение может вестись на любом выбранном вами языке, добавляйте собственные шаблоны расширения в диалог Settings -> Editor -> Live Templates. Потом просто будете наводить курсор на нужное место и вставлять нужное уже существующее расширение.
• Комбинация CTRL+W (чаще всего используется при закрывании таблиц, однако вы можете её переназначить) будет выбирать «блок» кода, выделенного курсором (слово, строка, абзац). Повторите комбинацию, затем расширьте весь путь к файлу (например, функциональный выбор -> инстанция и выбор функции -> ряд -> весь ряд -> метод -> содержащий класс…)
• Использование контекстного(нижнего) поля позволит вам изменять строку, которая написана на другом языке в специальном редакторе. Например, если у вас есть фрагмент HTML написанный в строке PHP, вы можете ALT+ENTER перенестись в содержание данной строки и выбрать Edit HTML (редактирование) содержания. Тогда случиться следующее:
• Режим выбора столбца может быть вызван удерживанием средней кнопки мышки и перемещение всего кусочка кода. Я нахожу эту операцию очень полезной, когда мне надо вставить часть изрезанного кода не копируя пробел:
• Нажатие ALT+Home позволит вам перемещать курсор по иерархической системе. Пропуская режим ESC вы сможете снова вернуться к редактору, если вы выбрали файл из определённой иерархии – тогда файл немедленно появится на экране.
• Рефакторинг (переименование) переменных и изменение их местоположения легко совершать нажатием правой кнопки мыши, удерживанием SHIFT+F6 или даже SHIFT+ALT+CTRL+T, этим самым вы вызовете полное меню рефакторинга, как показано ниже:
• CTRL+F12 выдвинет popup позволяющий вам выбрать метод текущего файла, который вы хотите открыть. Хотя и нет поискового поля, но, начав печатать, вы сможете сузить выбор до определённого метода.
• Как говориться: «Сейчас вы сможете найти всё лишь двойным нажатием Shift». Это является сильным смешением всех предыдущих сочетаний, позволяющее вам найти всё, что надо в любой части проекта или IDE – начиная IDE командами или классами и заканчивая объявлением функций.
Плагины.
PhpStorm обладает богатым выбором языковых плагинов. Я, например, чаще всего использую Dart. Это не тот тип плагина, о котором я хотел бы рассказать, хотя также существует множество подобных производительных плагинов. Плагины добавляют такие функции, о которых вы даже и не думали и уж точно не знали, что PHP IDE может ими обладать:
• Комбинация плагина DynamicReturnType с хорошим инжектором позволит вам создать верный IoC и по-прежнему держать все ваши автозавершение кода и проверки, как и при работе с классами напрямую.
• Плагин ключевого промоута продемонстрирует вам сочетание клавиш, нужных для совершения вами небольших действий и их выполнения. Если вы используйте определённые действия постоянно, и они не обладают сочетанием клавиш, тогда не хотите ли добавить этот плагин?
• CSS-X-Fire позволяет вам редактировать CSS в Chrome Firebug lite, или Firefox Firebug, и, возвращаясь к PhpStorm, вам будет предложено, если вы хотите, применить внесенные изменения в браузере CSS в проекте кодекса.
• Вы должны знать: PhpStorm - это проект, основанный на IDE, а это означает, что он не может открывать и редактировать произвольные файлы проекта, как простой текстовый редактор. Это может быть ужасно, когда вам надо обсудить что-то или ввести заметки для себя, при этом не засоряя папку проекта. Scratch позволит вам использовать временные файлы именно для этих целей.
Тёмные темы для удобства чтения.
Многие люди недооценивают хорошие темы, основываясь на своём чутье или чисто из-за недостаточной красоты. Это неправильно - по хорошим темам можно определить опытного пользователя, ведь эти темы являются очень удобными и помогают вам замечать ошибки, выделять ключевые слова и пунктуацию, без особых заморочек. В использовании тёмных тем существует несколько преимуществ:
• Когда мы смотрим на светлые темы, наши глаза устают быстрее, особенно ночью (именно в это время большинство программистов предпочитают работать). На тёмном фоне, вместо того, чтобы фокусироваться на всём светлом участке и пытаться разглядеть в нём что-либо (тёмные буквы), ваши глаза немедленно реагируют(сосредотачиваются) на светлых частях текста, игнорируя фон вообще.
• Я субъективно считаю, что цвета легче заметить на тёмном фоне. На деле это обозначает, что цвета должны иметь достаточную яркость, чтобы не создавать большого контраста на тёмном фоне.
• Существует общеизвестный факт, что синий цвет светлого экран подавляет мелатонин, который нарушает вашу норму сна. Если вы обнаружите, что вам тяжело заснуть после 4 часов утра, хотя вы чувствуете себя уставшим, испытайте чёрный экран, который будет излучать меньше света в целом при работе ночью.
Вещи, всё время подвергающиеся поиску, должны иметь средний уровень контраста. Избегайте абсолютности - задний фон не должен быть полностью чёрным, а текст не должен быть полностью белым, красным, зелёным, оранжевым. Такой резкий контраст будет сбивать глаза с толку так, как это обычно бывает при абсолютно белом фоне и абсолютно чёрном тексте. Вместо этого используйте пастельные, туманные тона. Аналогично, увеличение шрифта часто является хорошей идеей, если первоначальных шрифт темы является крошечным. Глаза очень устают, читая слишком маленькие буквы, а если ещё и фон является неподходящим, тогда без головной боли этот текст вообще не прочитать. Я рекомендую вам две отличные тёмные темы для использования: Darcula, созданная с помощью PhpStorm, и Solarized.
Как правило, именно Darcula содержит более приятную световую схему (она указанна выше). Я отношусь к тому типу разработчиков, который в своих проектах активно использует полученные комментарии, так что я люблю, когда они являются разборчивыми, но при этом не привлекают к себе большого внимания. Также, по моему мнению, структура проекта более понятна на втором скриншоте – светло-синий в сочетании с серым контрастом выглядит оптимальным для наших глаз. Конечно, существует много статей о различных темах, однако я настоятельно советую вам всё-таки не продолжать просто читать их, а покинуть зону своего комфорта на денёк или два и опробовать парочку из них. Вы будет удивлены тому, насколько быстро привыкните к новому понравившемуся вам и подходящему для вас стилю.
Заключение.
В этой статье мы рассмотрели и продемонстрировали некоторые популярные и/или широко используемые комбинации клавиш, и продуктивные хаки от PhpStorm – IDE, которые легче устанавливаются, чем казалось. Какие продуктивные хаки вам известны? Были ли они упущены здесь? Если да, то дайте нам знать в комментариях, и мы с удовольствием их добавим.