Преимущества PhpStorm в сравнении с Sublime Text

Мне нравится Sublime Text 3, но я расскажу почему PhpStorm лучше. Без последнего редактора вы вряд ли обойдетесь в больших проектах, рассчитанных на разработку нескольких человек.

Заметку решил написать, потому когда со PhpStorm не работаешь, думаешь, что это бесполезный и тяжелый комбайн. А когда в нём начинаешь серьёзно работать, то его особенности тебя поражают своей продуманностью и удобством. А скорость его на современных компьютерах не хуже Саблайма.

PhpStorm на 10 лет ушел вперёд от программ типа Adobe Dreamweaver и предлагает функционал, который тому и не снился.

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

Я рассказываю о преимуществах PhpStorm в сравнении с Sublime Text именно потому, что когда работаешь один не хочется углубляться в огромное количество настроек Шторма. И он тебе кажется громоздким и не нужным. На самом деле это всё оттого, что либо не хватает знаний для работы в Шторме либо проекты не сложные.

Например, какие-то простые вещи я делаю в Sublime Text 3, потому что создавать «Новый проект» в Шторме для небольших изменений никакого смысла нет. Гораздо проще открыть Саблаймом пару файлов и быстро отредактировать нужное содержимое и отправить заказчику. Но когда проекты большие и сложные, написанные не тобой, а работы будет много, завязанные на координации других людей, без PhpStorm не обойтись.

Расскажу о некоторых преимуществах Шторма ниже.

Место редактирования файлов

В PhpStorm продолжить работу с файлами значительно проще, чем в Sublime. В каждом открытом файле запоминается даже курсор и место где вы редактируете. Если вы закроете и откроете программу, то курсор в файлах будет на том же самом месте, в котором он находился в каждом из открытых файлов.

Специальные отметки и избранное

Вы можете на полях файлов делать специальные отметки, которые сохраняются в пункте меню Breakpoints. Таким образом очень легко найти ключевые места в файлах. Кроме того можно любой файл добавить в Избранное и всегда быстро к нему обратиться. Можно создать несколько разных папок для избранного.

Scratch файлы в PhpStorm

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

Сравнение с файлом на FTP

Редактируемый файл можно сравнить с тем, который лежит сейчас на FTP. Это важно, когда разработкой занимаются сразу много человек. Для того, чтобы случайно не удалить чужие наработки.

При сравнении показывается оба файла с изменениями, которые были сделаны с двух сторон:

По стрелочкам можно переносить изменения.

Работа с Git репозиторием

Точно также можно сравнивать файлы с репозиторием GitHub.

Если один и тот же файл редактировали несколько человек, то в случае редактирования одних и тех же строк появится конфликт. Такой файл будет подкрашен красным цветом. Для разрешения конфликта, в контекстном меню надо выбрать Resolve Conflicts…

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

Все конфликты также можно решить через меню:
VSC -> Git -> Resolve Conflicts…

Поиск в PhpStorm

На удивление поиск в Шторме (когда все файлы проиндексированы, а индексация происходит при создании проекта) работает значительно быстрее. И сделан он гораздо функциональнее.

Для поиска сделано специальное окно. Сверху выводится список файлов с конкретным местом искомого объекта, справа показывается его место в файле. Внизу можно просмотреть файл и сразу же его отредактировать, либо нажать клавишу Enter и файл с нужным местом откроется в новом окне.

Чертовски удобный поиск. Такого убоства нет в Sublime Text.

Поиск по функциям

В Sublime Text если навести на описанную функцию, то можно пройтись к её описанию:

В PhpStorm-е сделан такой же функционал, но ещё более расширен. Можно переходить не только по функциям. У меня за это отвечает комбинация клавиш Cmd + B (Mac OS), но также если нажать на любую переменную, то переход будет к её описанию.

А если нажать на переменную или саму функцию, там где она описана, то появится окошко со всеми местами, где она используется.

Выделение синтаксиса

Честно говоря Шторм даже перестарался со своими стилями. Выделяется чуть ли не каждая точка (я утрирую конечно), но из-за обилия стилей, весь код превращается в набор ярких красок. Это минус, но минус такой, от которого легко избавиться в настройках. Для себя я убрал с десяток разных стилей, а какие-то сделал общими, стало читаться гораздо легче. А функционал выделений всё равно остался на порядок выше Саблайма.

В PhpStorm-е чего только не выделяется отдельными стилями. Например, поставили курсор возле кавычек, они выделились с двух сторон. Поставили курсор возле HTML структуры, с двух сторон выделились открывающиеся и закрывающиеся теги. Причем выделяется вся структура данных. Каждые закрывающийся блок подкрашен своим цветом.

Также можно обратить внимание, что в функциях пишутся значения свойств. Сначала «лишние объекты» бесят, но постепенно, когда привыкаешь, начинают помогать. Из картинки выше видно, что text: и domain: это вспомогательные элементы, которых нет в коде, но они подсказывают, какие атрибуты использует функция.

Подсветка неиспользуемых переменных

Если переменная не используется, она будет закрашена серым цветом. Часто это помогает в написании кода и поиске ошибок.

Подсказка в функциях

Если в функциях пропущена обязательная переменная, то такая функция будет подсвечена, а наверху будет выведена подсказка.

Изменения в файлах

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

Например, работая с десятком файлов одну неделю, легко потом найти все измененные файлы, чтобы загрузить только их на FTP или на GitHub репозиторий. Делается это также через программу. Никакой отдельной FTP программы для этого не нужно.

Другие преимущества

Сохранение без кнопки. Мне нравится, что PhpStorm позволяет сохранять файлы без нажатия кнопок сохранения. Т.е. файлы сохраняются при любом изменении. Не нужно ничего нажимать. Кроме того, можно настроить чтобы при нажатии, скажем Cmd + S файл сохранялся сразу на сервер. Это также экономит кучу времени. Но поначалу надо привыкнуть и не нажимать каждый раз эту комбинацию, чтобы не отправить не готовую версию на рабочий сервер.

В PhpStorm встроена консоль, логи и много другого функционала. Например, автоматическая компиляция SCSS (SASS) файлов. Вы поправили файл scss и он тут же скомпилировался в css. Для этого придётся установить отдельно ruby и его расширения, а затем настроить в Шторме, в разделе File Watchers:

Также можно копировать пути файлов, чтобы дать ссылку другим или самому получить доступ к файлу. Или делиться референсами (ссылкой на файл и местом в нём).

Есть много и других преимуществ, которых нет в Sublime Text 3. Перечислять их все долго. Может быть постепенно добавлю их сюда.

English Query (запросы по теме на английском языке)

PhpStorm vs Sublime Text 3

Привет. Ты находишься на моём сайте. Я разработчик. Здесь я делюсь своими наработками и знаниями. Спрашивай в комментариях, если тебе что-то не понятно или пиши, если есть что добавить.

Если вам пригодилась информация, вы можете поблагодарить автора сайта символическим пожертвованием:

Добавить комментарий

Напишите свой комментарий, если вам есть что добавить/поправить/спросить по теме текущей статьи: "Преимущества PhpStorm в сравнении с Sublime Text".

Ваш e-mail не будет опубликован. Обязательные поля помечены *