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

PhpStorm vs SublimeText

2 года назад
16966 просмотров
PHP PhpStorm Sublime Text Полезности

На днях решил перейти с SublimeText2 на что-то более IDE-шное и продвинутое. Уж очень стало не хватать нормального автокомплита и банальных возможностей рефакторинга вроде переименования переменных. Выбор пал на PhpStorm.

Почему именно PhpStorm?

Aptana я уже пробовал. Не понравилась, т.к. довольно глючная (возможно сейчас ситуация изменилась, я пробовал давно). А следующим на слуху был именно шторм.

На самом деле у jetBrains все среды разработки построены на базе одной единственной IDEA. Можно поставить ее и расширить нужными плагинами. Но. Стоит она в два раза больше, а использовать в одной IDE разные языки (например, PHP и Java) я уж точно не буду, это извращение. Поэтому проще поставить уже заточенную под веб PhpStorm. На самом деле есть еще одна веб-IDE: WebStorm. Но она работает исключительно с HTML/CSS/JS. А PhpStorm по сути ее полный клон плюс плагины для PHP.

В чем прелесть перед SublimeText?

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

  • Автокомплит всего и вся. Даже учитывая, что PHP полностью динамичен подсказки по PHPDoc работают быстро и безошибочно.
  • Отличная интеграция с Symfony2.
  • Адекватный анализатор кода. Подскажет где у вас есть неиспользуемые переменные, лишние use классов и пр. Работает довольно шустро.
  • Удобная работа с Git. Визуальные commit, push, pull, diff. И все это мышкой для ленивых.
  • Встроенная консоль, в том числе SSH.
  • Отжирает на 100-200Мб больше SublimeText, что по сути очень мало для IDE.
  • Шустрый интерфейс, даже учитывая, что я только что "слез" с саблайма, а PhpStorm написан на Java.
  • Единственная полноценная IDE в которой мне удобно делать небольшие правки на чужих проектах по FTP. При этом выкачивать весь проект не обязательно.
  • Синхронизация всех настроек между компьютерами: IntelliJ Configuration Server Plugin
  • Множество полезных фич, которых просто не может быть в SublimeText

Недостатки?

  • Время запуска увеличилось с пары секунд до, примерно, секунд двадцати.
  • Нет возможности в пределах одного проекта примаппить несколько FTP серверов в разные папки. (На самом деле есть, но жутко извращенная и неудобная).
  • Нет мультикурсора. (Уже есть в PhpStorm 8 EAP)
  • Нет поддержки 100500 форматов из коробки. Да, в шторме вы сможете нормально редактировать только веб-проекты. Хотя мне это не особо мешает.
  • Нет бесконечного триала. PhpStorm стоит 99$ на одного человека. При этом персональную лицензию можно использовать на работе.
  • Не удобное переключение между проектами. Решается с помощью плагина.

PhpStorm. Как нормально работать с FTP

После SublimeText и плагина SFTP наверняка захочется чего-то подобного. И PhpStorm единственная IDE в которой мне удобно работать с FTP. Не верьте статьям, где расписано в 100500 шагов "Как настроить FTP в PhpStorm", это все бред, на самом деле это очень просто.

Для начала создаем новый пустой проект. Вот прям совсем пустой.

Заходим в настройки проекта: File -> Settings (Ctrl + Alt + S). И выбираем раздел Deployment, нажимаем зеленый плюсик для добавления FTP соединения. Вводим параметры соединения (хост, логин, пароль и т.п.). В Root path нужно прописать корень проекта, так будет удобнее. Так же правее плюса добавления жмем Use as default. Примерно так:

На вкладке Mappings в поле Deployment path on server 'temp' ставим просто один слеш (/).

На этом настройка FTP закончена. Нажимаем OK и диалог с настройками закрывается.

Наводим мышкой в левый нижний угол IDE и в появившемся меню выбираем Remote Host. Вот и наш удаленный ФТП.

Теперь все так же как в SublimeText, смотрим файлы, жмем правой кнопкой и скачиваем нужное. Конечно при таком подходе автодополнение, как и 90% функций IDE, работать не будет, но для одноразовой мелкой правки этого хватит.

Выгрузка при сохранении и проверка удаленного файла как в SublimeText

В PhpStorm, да и во всей IDEA, нет понятия сохранения файла. Все сохраняется налету при каждом нажатии и, само собой, никуда не выгружается при каждом нажатии.

Чтобы сделать выгрузку файла на FTP по нажатию Ctrl+S нужно зайти в настройки проекта (Ctrl + Alt + S), в раздел Deployment -> Options. И установить следующие настройки:

  • Upload changed file automatically to the default server: On explicit save action (Ctrl + S).
  • Warn when uploading over newer file: Compare timestamp & size.
  • И поставить галочку Notify about remote changes.

Теперь файлы будут выгружаться на FTP по нажатию Ctrl + S, а так же будет показано предупреждение, если ваша локальная копия не совпадает с удаленной, а вы пытаетесь ее редактировать.

Отдельно стоит рассмотреть удаление файлов. Если вы удалили файл из проекта, то на FTP он останется. Для того чтобы на FTP файл так же удалился нужно открыть любой другой файл и просто нажать Ctrl + S. Звучит странно, но при этом отлично работает, нужно только привыкнуть.

Выгрузка закоммиченных в Git файлов

Довольно полезная фича. При коммите в Git можно автоматически выгрузить все изменения на FTP. Выгружаются новые файлы, перемещения файлов и удаления файлов.

Однако только при коммите. Ни до, ни после, ни потом такой возможности не будет. К сожалению даже при checkout я не нашел способа сделать выгрузку. Хотя для этого есть git-ftp.

Что еще почитать