Задать вопрос

Emacs как IDE для PHP?

Добрый день.

Погуглил немного интернет, ютуб и хабр, но не нашел удовлетворения своему вопросу:
Может ли Emacs быть достойной заменой NetBeans как PHP IDE?

Я использую в NetBeans:
— Ctrl+Shift чтобы получить human-readable javadoc к функции
— /** + Enter, чтобы написать JavaDoc к функции, классу или файлу
— Alt+Shift+O для поиска файла по имени в проекте
— Short-cut для заливкли файла или файлов на сервер по FTP
— Short-cut для svn commit/update

К Emacs не относится, т.к. у него работа с буферами даже несколько удобней устроена, чем переключение по tab-ам NetBeans, но обычно я использую Ctrl+w для закрытия tab-а и Ctrl+Pg Down/Up для навигации по табам. В этом плане Emacs круче :)

Так вот может ли всё это Emacs? Насколько я понимаю, изза отсутсвия в Emacs понятия «проект», навигацию по имени файла в проекте мне уж точно не получить (что достаточно расстраивает :( )?
  • Вопрос задан
  • 8061 просмотр
Подписаться 5 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 6
Exabiche
@Exabiche
Если emacs правильно приготовить — то проблем толстых проектах не будет. Другое дело, сколько вы на это потратите времени.
Ответ написан
Комментировать
Vyazovoi
@Vyazovoi
Emacs in OS X user, Apple user
Emacs это такая штука, в которой можно реализовать всё. Вопрос обычно заключается вот в чем — реализовал ли уже кто-то, или реализовывать самому.

Что касается конкретных вопросов – такие вещи как «проект» и не обязаны быть в Emacs из коробки, есть множество сторонних реализаций. Самый модный – proejctile. Он из коробки содержит набор правил (можно добавлять свои), по которым он умеет определять корень проекта. Например, по наличию директории .git в корне, или файла composer.json. Всё в Emacs очень хорошо взаимосвязано и интегрировано, поэтому другие пакеты могут получать информацию о проекте от projectile. Есть и fizzy matching по именам файлов, и работа с vcs, и даже сохранение конфигурации окон по проектам.

Метод для генерации phpdoc с автоматической подстановкой @param я у кого-то в конфиге видел, в общем скорее всего гуглится на гитхабе.

А вот с анализом кода плохо — работа активно ведется несколькими людьми, но решения далеки от phpstorm (netbeans не пробовал). Вариантов несколько, наиболее интересным я считаю направление в плане поддержки PHP в встроенном пакете semantic, есть наработки. Также можно использовать phptags/phpctags. Сам по себе ctags из бренча universal-ctags. Global для PHP5 сейчас никакой.
Вот свежесозданная группа для координации работы над PHP и Emacs: https://groups.google.com/forum/#!forum/emacs-php

Есть ещё отладчик для xdebug: geben. Работает, но с реализацией в phpstorm не сравнится.
Есть проверка на ошибки через flycheck. Есть обалденные средства работы с git (в phpstorm мне не нравится).
Ответ написан
Комментировать
@BaBL
в целом годится для кодинга проектов средней толщины, на крупных с толстыми фреймворками будут проблемы с дополнением классов и т.д.
Ответ написан
andreysmind
@andreysmind
Есть дополнение для Емакс — Emacs Code Browser ecb.sourceforge.net/
Возможно будет полезным.
Ответ написан
Комментировать
@immaculate
Программист-путешественник
Конкретно про PHP ничего сказать не могу, кроме того, что в Emacs очень туго с multi-modes, то есть, когда в одном файле необходимо распознавать и подсвечивать несколько языков: PHP, HTML, CSS, Javascript.

Несколько библиотек есть, но они требуют мощного допилиивания, и со всеми из них у меня были проблемы. Когда я в последний раз смотрел на поддержку PHP в Emacs, реализовано было немногое и работало из рук вон плохо (лет 5 назад это было).

И вообще, Emacs мощен и удобен, когда знаешь все его сочетания и умеешь писать на Emacs Lisp, но я, после 13 или 14 лет использования Emacs перешел на vim. Сначала решил попробовать, потому что руки начали болеть из-за RSI, затем втянулся, затем перешел на PyCharm с плагином IdeaVIM и наступило счастье. Потому что после небольшого периода привыкания стало понятно — то, что умеет делать PyCharm с Python-кодом, Emacs можно будет научить после многих лет упорного допиливания…

Для PHP у JetBrains вроде бы тоже есть какая-то IDE, рекомендую глянуть.

Единственная вещь из Emacs, по которой скучаю — org-mode. Вот это очень мощный и удобный аутлайнер.
Ответ написан
VyusFire
@VyusFire
Студент, padavan, linux-mint-user.
Вроде бы автор этого топика считает что да. =)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы