PhpStorm. Полезный инструмент разработчика

<p>
     Обновляемый пост о полезности мощного инструмента разработчика от компании JetBrains
</p>

Сегодняшний пост - заготовка для сбора всей информации о замечательном инструменте от компании JetBrains, PhpStorm .

По ссылке выше - подробное описание и ссылка на скачивание актуальной версии продукта. Продукт доступен для 30-тидневного ознокомительного периода. Также, есть бесплатная EAP-лицензия

Дальше - полезности, которыми я пользуюсь (или планирую пользоваться).

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

Для разработки под 1С-Битрикс, начиная с 10-й версии появился замечательный плагин "Bitrix Framevork Support" (может и раньше появился, но я только недавно узнал о нем). Для его установки - нужно просто зайти в настройки продукта и в разделе плагинов произвести поиск и установку.

Очень много о полезности написано в хабростатье . Приведу только выдержку отсюда. Кому нужно - милости прошу по ссылке - там много картинок.

  • CTRL+ALT+L (Reformat Code), одна из моих самых используемых комбо, форматирует ваш код в соответствии с выбранными настройками оформления кода. Если вы находитесь в Linux, комбинация CTRL+ALT+L уже может быть связана с «Блокировкой экрана», и вы должны будете отвязать его в системных настройках или изменить его в настройках PhpStorm. Я у себя отключил эту комбинацию в  линуксе (точнее перевел ее на станадартную виндозную Win+L);
  • Нажав CTRL+SHIFT+Backspace (Last Edition Location), или кнопками мыши «Вперед» и «Назад» (если они у вас есть), вы перейдете к предыдущему месту редактирования. Это очень полезно при работе с большими файлами;
  • Удержание CTRL при наведении курсора на переменные или методы даст вам дополнительную информацию, а Ctrl+клик на переменной или методе, или нажатие CTRL+B (Declaration), когда курсор установлен на методе или на переменной приведет вас прямо туда, где он определен;
  • CTRL+Пробел (Basic) вызовет всплывающее окно с подсказками, если вы случайно закрыли его или оно какой-то причине не открылось;
  • Когда PhpStorm обнаруживает какие-либо проблемы, он подчеркнет проблемную область и вызывает всплывающую подсказку поверх него при наведении мыши или курсора клавиатуры в этой области. Нажав на неё или нажав Alt+Enter (Show Intention Actions) будет предложено решение;
  • CTRL+N (Class), и CTRL+SHIFT+N (File) позволит вам мгновенно перемещаться в любую часть какого-либо класса или файла проекта. Поиск является нечетким, а также поддерживает номера строк — вы можете использовать сокращения :XX, где ХХ — номер строки;
  • PhpStorm запоминает несколько последних значений буфера обмена — вы можете нажать CTRL+SHIFT+V (Paste from History), чтобы вызвать всплывающее окно, которое позволит вставить ранее использованное содержимое буфера обмена;
  • Если вы влюблены в способность Sublime производить поиск по командам самой IDE, то вы можете делать это и в PhpStorm — CTRL+SHIFT+A (Fine Action) вызовет всплывающее окно поиска команд. Забыли сокращение для переформотирования кода? Просто нажмите CTRL+SHIFT+A и наберите «Refor ..»;
  • Можно сгенерировать HTML используя Emmet встроенный в PhpStorm. Просто введите div#myDiv>span.mySpanClass>ul>li*5 и нажмите TAB. Расширить эти возможности для любого языка можно добавив свои шаблоны в Settings -> Editor -> Live Templates.
  • Возможно несколько неинтуитивно, CTRL+W (Select Word at Caret) (который чаще всего используется для закрытия вкладки, так что вы можете переназначить его) будет выбирать блоки кода под курсором (слово, переменную, и т.д.). Повторение комбинации расширяет выбор, включая родительский узел;
  • Контекстно-зависимое редактирование позволит вам редактировать фрагмент кода, написанный на другом языке в отдельном редакторе. Например, если у вас есть HTML фрагмент, содержащийся в PHP строке, нажмите Alt+Enter над этой строкой и выберите Edit HTML;
  • Режим выбора колонки может быть вызван, удерживая среднюю кнопку мыши (колесико) и перетаскивая. Это особенно полезно, когда нужно скопировать часть кода с глубоко отступом, но игнорируя ненужные пробелы;
  • Нажатие Alt+Home (Jump to Navigation Bar) позволит использовать курсоры для перемещения по цепочке переходов в верхней части. ESC выводит из этого режима;
  • Рефакторинг (переименование) переменные и применения изменений сразу во всех местах, которые используют — SHIFT+ALT+CTRL+T (Refactor This) вызов меню рефакторинга;
  • CTRL+F12 (File Structure) вызовет всплывающее окно, которое позволит выбрать метод в текущем файле, к которому вы хотите перейти. Несмотря на то, что нет поле поиска, как только вы начнете печатать, выбор сузится до вариантов, которые вы ищите;

А вот еще одна хабростатья . Немного выдержек и отсюда:

  • Создание PHPDoc.  Если перед существующим методом начать писать /** и нажать Enter. Можно выбрать одну или несколько функций и на основании атрибутов и содержимого будет сформирован Doc Block;
  • При создании класса потомка или реализации абстрактных методов, чтобы не допустить ошибку, обычно приходится лезть в класс предок и запоминать или копипастить название и атрибуты метода. Или проверять для всех ли абстрактных методов есть реализация и вспоминать что же там требуется для ArrayAccess. Есть вариант получше:
    [CMD] + I – Имплементация
    [CMD] + O – Переназначение
    После нажатия хоткея появляется окно где можно выбрать какие именно методы будем реализовывать. После выбора генерится соответствующий метод с соблюдением приватности и имена атрибутов;
  • С помощью [CTRL] + [SHIFT] + 0...9 можно оставлять метки. Вернуться на метку можно с помощью [CTRL] + 0...9. Работает в контексте всего проекта;
  • Окружение выделения предзаданными штуками, типа тегов или if-else, в зависимости от контекста: [CMD] + [ALT] + T;
  • Alt + ~ — менюшка с git коммандами


UPDATE 2017-01-28

Давно искал и не мог найти, как создать шаблон файла, в котором уже используются переменные (если задать просто $peremennay - потом, при создании, система попросит ввести переменные еще раз :(). Вот сегодня, наконец-то попалась на глаза статья, в которой достаточно ясно описывается весь механизм. Подробнее можете почитать тут, тут тут и тут, а я расскажу о тех мелочах, которыми я пользовался.

И так, заходим в создание нового шаблона файла (File-Settings-Editor-File And Code Templates-Files). Тут создаем новый файл шаблона, задаем ему название.

Мне нужно было создать файл, с классом. Я сделал возможность установки имени класса при создании файла. Таким образом, при создании нового файла мы ему будем задавать название файла и название класса в нем. В самом файле, блок с описанием класса вводим с проверкой, заполнено ли название класса:

/**
 * ${PROJECT_NAME} - ${NAME}
 *
 * Initial version by: ${USER}
 * Initial version created on: ${DATE}
 */
#if (${CLASSNAME}=="")
class ${NAME} {
#else
class ${CLASSNAME} {
#end
......
// тело класса
}
#if (${CLASSNAME}=="")
${DS}masterAjax = new ${NAME}();
#else
${DS}masterAjax = new ${CLASSNAME}();
#end

В начало файла вставляем комментарий, с указанием имени проекта, названия файла, имени автора файла, даты создания. Дальше идет проверка: если имя класса не заполнено - выводится в качестве имени класса, название файла, если заполнено - выводится оно. Потом идет уже тело класса. Внутри все переменные виде $var заменять на $(DS)var. Конструкция $(DS) при создании нового файла заменяется на $. Под описанием класса аналогично делаем вызов класса - если заполнено имя класса - выводим его, иначе - имя файла.

вот такой хитрый код позволяет сделать заготовки php-файлов для увеличения скорости сайтостроительства.

Количество показов: 5007
26.12.2015

Возврат к списку

Если вам была полезна статья можете отблагодарить автора:
Ethereum:

0x16Df809287333C49D3A237296C6248A6c08702Bc

Разработка сайта

Подайте заявку на разработку сайта на базе готового решения от компании 1С-Битрикс или одного из партнеров компании. Максимально подробно опишите, чему будет посвящен сайт, если это интернет-магазин - что он будет продавать, нужна ли мультиязычность, будут ли разные типы цен (розница, опт, крупный опт), будет ли интеграция с 1С, будет ли выгрузка товаров на различные торговые площадки...

Сопровождение сайта

Вы можете подать заявку на сопровождение вашего сайта на базе 1С-Битрикс. Сопровождение включает в себя: проверка актуальности обновлений сайта, проверка актуальности резервной копии, консультации по сайту. Опишите в заявке, какие еще объемы планируются на сопровождении и на какой срок вы планируете заключить договор на сопровождение - мы подберем подходящий вам бюджет на сопровождение

Работы по сайту

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