Комментарии 52
ну а если по делу, то все это уже либо было, либо настолько старо (ну кроме постфикса, о котором, в общем-то, рассказывали в анонсе 9 версии), что хотелось бы узнать что-то новое и действительно полезное.
habrahabr.ru/post/157409
habrahabr.ru/post/212077
habrahabr.ru/post/212153
habrahabr.ru/post/157409
habrahabr.ru/post/212077
habrahabr.ru/post/212153
Так в 9-ке появился еще одна полезная фитча — редактируя имя тэга HTML в начале, автоматом он же редактируется и в конце…
Например:
Например:
<h3>текст</h3>
Изменив <h3> на <h2> PhpStorm сам заменит </h3> на </h2>
Иногда эта фича начинает вести себя непредсказуемым образом, если рефакторишь объёмный кусок html, во время удаления лишних тегов, в момент невалидной структуры, она может «втихоря» переименовать родительский div к примеру в a. Легко упустить это из виду и отправить на продакшен. В остальном штука очень удобная.
Поиск в окне работает не только для дерева файлов, но и вообще в практически всех панелях. Classmap, VCS, Code Coverage и т.д.
Отдельно хочется упомянуть поиск по действиям (ctrl + shift + a) — если забыл как сделать CamelCase для выделенного текста или любое другое действие.
Отдельно хочется упомянуть поиск по действиям (ctrl + shift + a) — если забыл как сделать CamelCase для выделенного текста или любое другое действие.
Возможно ли задать, переформатировать ли код при вставке из буфера обмена, индивидуально для каждого языка? Например, форматирование SCSS- или LESS-кода весьма полезно, а вот портить при вырезании/вставке аккуратно расставленные ранее выравнивающие пробелы (например, в списке объявлений переменных или при присваивании длинной строки с многострочной конкатенацией), например, в JS, превращая их в символ табуляции, нежелательно.
Отключить автовыравнивание по вставке и форматировать выделенный текст по ctrl+alt+L
всегда было интересно, как открыть окно выбора файла, чтобы путь к нему тут же подставился в позицию курсора. К примеру, когда пишешь атрибут src="… Автодополнение вещь хорошая, но если путь глубокий — то не так удобно. Хотелось бы узнать, есть ли такая возможность, именно во всплывающем окне с горячей клавишей вызова, а не в автодополнении. Ну и ещё о том, как настроить базовый путь при такой генерации, чтобы он от корневой папки сайта отсчитывался, а не от С:/ ;)
Дополнение к п.6: если в теле метода/функции над строкой, где происходит присвоение переменной, набрать /** и пробел, то получим комментарий phpDoc такого вида:
Удобно задавать тип переменной (особенно класс), когда IDE не может этого определить по выражению.
/** @var $variable */
Удобно задавать тип переменной (особенно класс), когда IDE не может этого определить по выражению.
Выход из настроек IDE клавишей EscВы серьезно считаете это «фичей»? Мне кажется это уже стандарт, в том числе на вебсайтах.
Я вам больше скажу — любое окно PhpStorm'a можно закрыть клавишей Esc.
А вообще, как уже говорили, слабоват мануал. Надеюсь в следующей части будет рассказано действительно редкие и полезные фичи.
Все hotkeys справедливы для Windows и думаю Linux версииРаз уж беретесь статью писать, то уже не поленитесь и найдите хоткеи для всех. Иначе какой смысл статьи?
Когда начинал пользоваться сабжем, не сразу нашел очень полезное сочетание: Ctrl+F12 — аналог сублимовского Ctrl+R, т. е. поиск по определениям символов в текущем файле. Зачастую удобнее, чем Shift+Shift (поиск в проекте). И туда же подсказка: там нельзя, как в сублиме, пропускать буквы при поиске, но можно, если при пропусках ставить пробелы.
(Я был бы благодарен, если бы какой-нибудь хороший человек сделал плагин, который при вводе букв в окошках Shift+Shift и Ctrl+F12 после каждой автоматом ставил пробел. Сам я не умею.)
(Я был бы благодарен, если бы какой-нибудь хороший человек сделал плагин, который при вводе букв в окошках Shift+Shift и Ctrl+F12 после каждой автоматом ставил пробел. Сам я не умею.)
Из удобных комбинаций могу отметить:
1. Cntrl + N поиск по имени класса
2. Cntrl + Shift + N поиск по имени файла
Удобно когда знаешь имя класса или файла и не хочется копаться в проекте.
1. Cntrl + N поиск по имени класса
2. Cntrl + Shift + N поиск по имени файла
Удобно когда знаешь имя класса или файла и не хочется копаться в проекте.
Статья очень походит на перевод вот этого видео www.youtube.com/watch?v=J9emzl_VmIs
Если это так, то стоило бы указать ссылку на оригинал.
Если это так, то стоило бы указать ссылку на оригинал.
Думаю времена, когда хотелось выделиться программированием в Notepad++, практически ушли.
Думаю, большинство из тех, кто пользуется Notepad++ или другими текстовыми редакторами, делают это не для того, чтобы «выделиться», а потому что им это удобно.
Скажите, а можно ли отлаживать консольные PHP-скрипты простым нажатием F5 (как это сделано в Komodo IDE) не переключаясь в браузер?
Отлаживать можно, но горячей клавиши по умолчанию для этого вроде бы нет.
дебаг точно есть при запуске тестов в режиме дебага (Shift+F9) и при этом можно установить брейк-поинт и начинать дебажить там, где нужно
кстати, запускается все это дело в таком виде
как запускать с консоли чтобы PhpStorm ловил соединение от xdebug-а я не разобрался, но PhpStorm довольно просто позволяет запускать и дебажить консольные скрипты. проще всего — кликнуть ПКМ и найти в контекстном меню «Run» или «Debug». по идее должно быть два варианта у кажлого — запуск через браузер и запуск через CLI. выбираете второй вариант. автоматически создастся профиль для запуска и дебага этого скрипта. дальше ставите брейкпоинт и запускаете дебаг (Shift+F9)
Скрин

кстати, запускается все это дело в таком виде
/usr/bin/php -dxdebug.remote_enable=1 -dxdebug.remote_mode=req -dxdebug.remote_port=9000 -dxdebug.remote_host=127.0.0.1 [another arguments for start phpunit]
как запускать с консоли чтобы PhpStorm ловил соединение от xdebug-а я не разобрался, но PhpStorm довольно просто позволяет запускать и дебажить консольные скрипты. проще всего — кликнуть ПКМ и найти в контекстном меню «Run» или «Debug». по идее должно быть два варианта у кажлого — запуск через браузер и запуск через CLI. выбираете второй вариант. автоматически создастся профиль для запуска и дебага этого скрипта. дальше ставите брейкпоинт и запускаете дебаг (Shift+F9)
Изображения



Я положил в
Расширение настроено вот так


~/bin/phpx
вот такое:
XDEBUG_CONFIG=idekey=PHPSTORM /usr/bin/php $*
Расширение настроено вот так
xdebug.remote_autostart=off
xdebug.remote_enable=On
xdebug.remote_host="MY.IP.ADD.RESS"
xdebug.remote_port=9000
xdebug.remote_handler="dbgp"
xdebug.remote_mode=req
xdebug.idekey="PHPSTORM"


Проще всего дебажить консольные скрипты (на локальной машине с xdebug) можно так:
Более «правильный» способ с указанием IDE Key приведен выше.
А чтобы отлаживать по одной кнопке, достаточно создать debug-конфигурацию и запускать её, например, во встроенном терминале. Вообще без смены контекста будет.
- включаем пассивный debug-режим (Run — Start Listening For PHP Debug Connections или соответствующей кнопкой на панели)
- Запускаем скрипт с аргументами:
php -d xdebug.remote_enable=1 -d xdebug.remote_autostart=1 my_script.php
xdebug.remote_enable=1
можно спокойно положить в php.ini, а remote_autostart я бы не советовал — пыха будет всегда ломиться в порт, даже когда не надо. Более «правильный» способ с указанием IDE Key приведен выше.
А чтобы отлаживать по одной кнопке, достаточно создать debug-конфигурацию и запускать её, например, во встроенном терминале. Вообще без смены контекста будет.
Пункт 6 работает не только для php, но и js.
Это все хоть и полезные, но довольно очевидные вещи, лучше бы собрать список менее очевидных полезных вещей, которые надо еще поискать, например
1) Если выделить строку в окне редактора (можно кликом по левом полю) и нажать Ctrl+Alt+Shift+C или выбрать в контекстном меню Copy Reference — в буфер скопируется ссылка на текущую строку текущего файла типа Path/Class.php:123 — очень удобно для общения с другими разработчиками например, переход по этой ссылке осуществляется через Ctrl+Shift+N.
2) Если подключен к проекту Git в контекстном меню при клике на левом поле окна редактора есть клевая вещь Annotate — можно смотреть кто и когда менял последний раз каждую строчку в файле.
и т.д.
1) Если выделить строку в окне редактора (можно кликом по левом полю) и нажать Ctrl+Alt+Shift+C или выбрать в контекстном меню Copy Reference — в буфер скопируется ссылка на текущую строку текущего файла типа Path/Class.php:123 — очень удобно для общения с другими разработчиками например, переход по этой ссылке осуществляется через Ctrl+Shift+N.
2) Если подключен к проекту Git в контекстном меню при клике на левом поле окна редактора есть клевая вещь Annotate — можно смотреть кто и когда менял последний раз каждую строчку в файле.
и т.д.
А как выделенный текст обрамить в кавычки, или обернуть скобками? Помню включал эту функцию, но сейчас что-то найти не могу.
Из неописанного, чем пользуюсь:
Ctrl+Shift+A — Поиск по действиям меню (из File, Edit, View и т.д.)
Ctrl+Q — Открывает документацию по методу/функцией, на которой установлен курсор
Ctrl+Alt+T — Surround With диалог и там же Live Templates
Ctrl+Shift+A — Поиск по действиям меню (из File, Edit, View и т.д.)
Ctrl+Q — Открывает документацию по методу/функцией, на которой установлен курсор
Ctrl+Alt+T — Surround With диалог и там же Live Templates
Кстати, сегодня будет вебинар по новшествам 9-й версии.
Есть ещё плагин «Key promoter». Смысл его в том, что если нажать мышкой какую-нибудь кнопку, у которой есть хоткей, то на время появится плашка с хоткеем
Скриншот
Только про последние 2 узнал, всё остальное банальщина =).
из фич пользуюсь также CTRL + w — быстро выделяем слово, строку или еще что.
из фич пользуюсь также CTRL + w — быстро выделяем слово, строку или еще что.
Умеет ли phpStorm удалять лишние пробелы при сохранении? И автоматом заменять пробелы на табуляцию для отступов?
Спасибо.
Спасибо.
Пробелы на табуляцию — Edit/Convert Indent/To tabs
По поводу лишних пробелов, не очень понятно, что вы имеете ввиду. PhpStorm поддерживает автоформатирование Code/Reformate Code, он в том числе приводит в порядок пробелы
Чтобы настроить все это на сохранение, можно в Settings/Keymaps для Save All назначить комбинацию Ctrl+Alt+S, записать макрос Edit/Macros: Ctrl+A, Code/Reformate Code, Edit/Convert Indent/To tabs, Arrow Up, Arrow Down, Ctrl+Alt+S
и назначить этот макрос в Settings/Keymaps на комбинацию Ctrl+S
По поводу лишних пробелов, не очень понятно, что вы имеете ввиду. PhpStorm поддерживает автоформатирование Code/Reformate Code, он в том числе приводит в порядок пробелы
Чтобы настроить все это на сохранение, можно в Settings/Keymaps для Save All назначить комбинацию Ctrl+Alt+S, записать макрос Edit/Macros: Ctrl+A, Code/Reformate Code, Edit/Convert Indent/To tabs, Arrow Up, Arrow Down, Ctrl+Alt+S
и назначить этот макрос в Settings/Keymaps на комбинацию Ctrl+S
Советую посмотреть эту серию Laracasts
laracasts.com/series/how-to-be-awesome-in-phpstorm
тут очень наглядно и полезно все
laracasts.com/series/how-to-be-awesome-in-phpstorm
тут очень наглядно и полезно все
Очень не хватало выделения столбцами после sublime (ctrl+shift+L).
Оказывается в PhpStorm еще проще: alt + выделение мышой
Оказывается в PhpStorm еще проще: alt + выделение мышой
Для тех, кто все время забывает сочетания клавиш, есть встроенная распечатывабельная подсказка: Help->Default Keymap Reference
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
PhpStorm: Tips and tricks. Часть 1