Начинаем работать в JetBrains PhpStorm / Хабрахабр


16 января в 12:25

Начинаем работать в JetBrains PhpStorm tutorial

Хочу рассказать как быстро и эффективно начать работать в прекрасной интегрированной среде разработки (IDE) — PhpStorm. Полный цикл создания проекта и его базовой настройки — далее в этой статье.





Перед тем как начать, я бы хотел сказать, что статья предназначена для людей, только начинающих работу в данной IDE и призвана помочь сориентироваться в программе человеку, впервые открывшего ее. Поэтому большая просьба отнестись с пониманием.


Создание проекта



При первом запуске программы мы увидим такое окно:







PhpStorm работает только с локальной копией проекта, подключиться к серверу и редактировать файл на прямую тут не получится.



В наиболее частых случаях — сценарий таков: у вас лежат файлы на удаленном сервере, вам нужно их править. Файлов, которые понадобятся в работе максимум несколько десятков, при этом файлов на сервере несколько тысяч и совершенно нет нужды скачивать их все в локальную копию.



Делаем новый проект для такого сценария:

Нажимаем Create New Project from Existing Files:







Выбираем пункт Web server is on remote host, files are accessible via FTP/SFTP/FTPS:







Даем имя новому проекту и обязательно выбираем радио-кнопку Custom, для того чтоб задать первоначальные настройки проекту. Жмем Next







Появится такой экран:







На этом экране нам нужно указать 3 важные настройки: Upload changed files automaticaly to the default server ставим On explict save action. Эта настройка, если ее не выставить — довольно опасная штука, за которой все время нужно следить, иначе можно одним прекрасным днем угробить проект на продакшене (удалил папочку в локальной копии и наша IDE автоматически это все синхронизировала с сервером)



Очень важно!!!

Следующая настройка — Wharn when uploading over newer file ставим Compare timestamp & size, а так же выбираем галочку внизу Notify about remote changes. Будет подсказывать предупреждение при попытке перезаписать файл, который поменял например ваш коллега. В таком случае нужно мержить вашу локальную копию с копией на сервере.



Нажимаем Next, переходим к настройке доступа к серверу, с которым будем работать


Настройка доступа к серверу







Выбираем Add New Remote Server и нажимаем Next:







Видим настройки нового сервера. Тут вводим нужные пароли, название для серевера (как он будет отбражаться в списке в IDE) и не забываем нажать галочку Save password, если не хотите вводить пароль каждый раз при деплое.

Для проверки правильности введенных параметров можно нажать на кнопочку Test FTP connection и получим сообщение о том, правильные мы данные ввели или нет. Нажимаем Next.



Видим список каталогов сервера. Тут нам нужно указать корень проекта (Project Root). Выбираем нужный нам каталог и обозначаем его корнем с помощью кнопки на верхней панели.







Папки приобретут зеленую подсветку. Это значит, что все они буду скачаны в локальную копию, а этого нам совсем не нужно.







Как видно, у нас активировались дополнительные кнопки на панели сверху: Excluded from download, Resource root, Exluded from Indexing.






  1. Исключает каталог и все его подкаталоги и файлы из загрузки.
  2. Помечает каталог как корень ресурса для подсказок, например, в css файлах, когда прописываешь пути к картинкам.
  3. Исключает файлы выбранного каталога и все файлы подкаталогов из индексации после загрузки.



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



Тем более, если мы все-таки захотим забрать себе какой-то каталог, то нам нужно обязательно выделить корень проекта, а это значит, что все файлы в корне (типа index.php, .htaccess и тд.) будут тоже скачаны. А теперь пример: добрый заказчик держит архив с последним бекапом в корне сайта. Нам придется скачать и его, а это нонсенс.

Короче выделяем все папки и жмем Excluded from download и нажимаем Next и Finish на следующем экране.



Красота, проект создан! Но у нас по-прежнему нет файлов. Теперь нам доступна вкладка Remote Host справа на панельке:







У кого нет, включаем ее в главном меню Tools -> Deployment -> Brows Remote Host:







Перед тем как начать скачивать файлы нужно проделать одну маленькую хитрость, иначе IDE может отказаться забирать файлы с сервера.



Нажимаем кнопку настроек в верхней панели (1). Далее переходим в Deployment (2), выбираем только что созданный сервер (3), переходим на вкладку Excluded Paths. И удаляем все записи с иконкой коричневой папки, это локальные пути (удалять кнопочкой Remove path внизу). Применяем настройки:







Теперь наша IDE не будет упрямствовать и всегда будет скачивать файлы с сервера, когда мы ее об этом попросим.


  Пример SCSS в PhpStorm

Закачка нужный файлов и каталогов



Теперь нам нестрашны возможные бекапы клиентских сайтов в корне сервера, так как мы теперь видим во вкладке Remote Host не только каталоги, но и файлы, которые мы можем исключить из загрузки.



Давайте скачаем какой-то каталог с файлами. Открываем вышеупомянутую вкладку. Выделяем нужный каталог и кликаем правой кнопкой мыши по нему. В меню будет пункт Remove Path from Excluded, который нам и нужен.







Но вот какие дела! Теперь то и родитель его (в данном случае корневой каталог, а значит все-все файлы и папки) тоже исключился и добавился в закачку! Что нам перерь нужно сделать: выделить все каталоги и файлы (кроме корневой папки) и с помощью Ctrl+клик снять выделение с тех каталогов и файлов, которые нам нужно(!) скачать:







Теперь кликаем по какой-нибудь выделенной папке правой кнопкой мыши и исключаем их из загрузки.



Далее выбираем нужную для скачки папку и нажимаем Download from here:







Все, каталог загрузится и проиндексируется. Он теперь доступен в дереве каталогов проекта слева. А так же все файлы в нем. Загрузка изменений файла обратно на сервер произойдет при сохранении его в программе (как и было указано в настройках в самом начале).

Поезны ли для сообщества статьи данного формата?
Да, давай еще
Нет, больше не нужно таких статей

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

Проголосовало 299 человек. Воздержалось 56 человек.

–21

11152
69
rodion_arr –2,5

Комментарии (25)

+24

diwms,

16 января 2014 в 12:33

#

Детский сад.

+3

Dolios,

16 января 2014 в 12:35

#

Имхо, просто и удобно использовать системы контроля версий.

rsi,

16 января 2014 в 19:10

#

Буду крайне благодарен если подскажите как поставить Git на виртуальный хостинг к клиенту, где нет рут прав.

rodion_arr,

16 января 2014 в 19:19

#

Надеюсь поможет это руководство — joemaller.com/908/how-to-install-git-on-a-shared-host/

megahertz,

17 января 2014 в 11:17

#

На сервере может вообще не быть гита, главное чтоб был ssh. Хотя такой сценарий работы с репозиторием не самый комфортный

deadkash,

16 января 2014 в 12:36

#

Сильная сторона PhpStorm это индексация проекта, построение структуры проекта. Поэтому я либо делаю локальную копию и автоматический аплоад, либо, что бывает, чаще в убунту монтирую папку по ssh и работаю с проектом как локальным. Если что-то быстро поправить — обычные текстовые редакторы типа Notepad++ или Geany.

+1

diwms,

16 января 2014 в 12:38

#

Notepad через wine или они выпустили версию под linux?

deadkash,

16 января 2014 в 12:41

#

Notepad на windows я имел ввиду. Для linux вроде не выпускали.

int22h,

16 января 2014 в 12:39

#

Лучше б сделали туториал по полезным хоткеям и каким то фишкам

+9

fcunited,

16 января 2014 в 13:29 (комментарий был изменён)

#

Полезный читшит: www.jetbrains.com/phpstorm/documentation/PhpStorm_ReferenceCard.pdf



Лично я чаще всего использую:



Ctrl+Q на названии функции — выдает доку по функции

Ctrl+P на параметре фунциии — выдает описание параметра

Shift+F1 на названии функции — переходит по ссылке, если такая была привязана к функции (для нативных PHP-функций переходит на php.net/function.name)



Alt+стрелки вверх/вниз — перемещение между методами класса



Ctrl+Alt+стрелки влево/вправо — перемещает вперед/назад между местами кода, которые только что просматривались



Ctrl+E, Ctrl+Shift+E — недавно просмотренные/редактированные файлы



Ctrl+Shift+F — поиск по проекту

Ctrl+Shift+N, double Shift — быстрый и очень удобный поиск по файлам



Ctrl+/ — закомментить/раскомментить выделенный код/строку



Ctrl+D — дублировать выделенный код/строку



/** и Enter перед названием функции — автоматическое формирование PHPDoc



Ctrl+Shift+U — выделенный код к верхнему или нижнему регистру



Ctrl+Shift+V — последние 5 записей в буфере



Alt+F7 на функции — найти места вызова функции



F11 — добавить/убрать bookmark (появляется справа черная засечка)

  PhpStorm 10.0 Help :: Configuring Xdebug

int22h,

16 января 2014 в 13:44

#

Благодарю, большинство уже использую. Но парочку не знал ранее)

Devgru,

16 января 2014 в 15:39

#

Один из полезнейших хоткеев — Ctrl+W, выделение, его нужно жать несколько раз подряд, пока не выделит все что нужно 🙂



Ну и Shift, Shift это поиск по всему, он лучше чем Ctrl+Shift+A (действия) или Ctrl+Shift+N (только файлы).

fcunited,

16 января 2014 в 15:58

#

Еще забыл одну из самых полезных фичей — Ctrl+Alt+L — авто-формат выделенного кода (правила форматирования очень гибко настраиваются в настройках)

+1

Devgru,

16 января 2014 в 18:15

#

На Ctr+Alt вообще куча полезного из рефакторинга, если уж на то пошло, в чит-шите выше описано. Серьёзно ускоряет написание кода.

+3

HangGlider,

16 января 2014 в 12:40

#

Такая схема работы подойдет для совсем зеленого новичка. Если планируете работать в команде, ковыряйте, например, в сторону git+gitlab+ci. И уже из гитлаба вытягивайте проекты на диск или в песочницу на сервер разработки.

+2

SiDChik,

16 января 2014 в 12:48

#

Вся статья могла уместиться в одно предложение о том, что phpstorm умеет работать с файлами через ssh/ftp и тд, проверяя изменения и автоматически выкладывая их. И все… А так из разряда: итак, это Джонни Котсвилл и мы запускаем PHPSTORM

imgen,

16 января 2014 в 13:31

#

всё это можно уместить в пять строк

git init

git push

git pull

git clone

git commit -m

DenimTornado,

16 января 2014 в 14:21

#

А вот такой вопрос, есть огромной проект, в гит и картинки и бэкапы и куча всего. Можно ли держать под версионным контролем в WebStorm только пару папок. То есть я хочу использовать Git в этом проекте, но при попытке апнуться получаю сообщение, что 1800 файлов у меня удалено.

+2

imgen,

16 января 2014 в 14:52

#

в гит обычно пушат только код, а картинки и прочую ерунду через деплой раскидывают в необходимые директории или серверы.

DenimTornado,

16 января 2014 в 16:00

#

Это всё прекрасно, только вот на данном этапе руководство сложно убелить.

Anonym,

16 января 2014 в 17:28

#

DenimTornado,

16 января 2014 в 17:52

#

Понял, спасибо, значит в данном случае встроенный деплой.

  PhpStorm 10.0 Help :: Configuring Xdebug

imgen,

16 января 2014 в 19:04

#

не обязательно встроенный, можно писать скрипты на баше, что бы они деплоили всё за Вас по команде.

DenimTornado,

16 января 2014 в 19:30 (комментарий был изменён)

#

Зачем, если одной кнопкой можно заливать + есть локал хистори + есть дифф встроенный?

imgen,

16 января 2014 в 19:49

#

я говорил о статичном контенте, картинки, флешки и т.д.

так как они в 99% случаев лежат в gitignore и деплой делается либо через шторм, либо по ssh через какую-то автоматизацию, параллельно можно склеивать js файлы в grunt, обрабатывать картинки для уменьшения веса в нем же, в общем деплой через скрипты гораздо гибче.

Только зарегистрированные пользователи могут оставлять комментарии.

Войдите, пожалуйста.

Похожие посты
Вышел NetBeans IDE 8.0 Beta 23 февраля в 02:07
Что нового в PhpStorm 6.0 14 марта 2013 в 07:26
Что обсуждают?
Компания дня

http://habrahabr.ru/post/209254/

Губарь Маргарита Александровна