PHP IDE с лучшим завершением кода?

Несмотря на то, что некоторые могут сказать , я считаю, что завершение кода (ака Intellisense) является вторым лучшим изобретением, когда дело доходит до редакторов кода (первая – синтаксическая раскраска). Это действительно упрощает кодирование, потому что мне не нужно беспокоиться, ReportSumsCalculate ли я функцию CalculateReportSums , ReportSumsCalculate или просто GetReportSums .

К сожалению, я еще не нашел редактор кода, который бы удовлетворительно реализовал эту функцию для PHP. И «удовлетворительным» я имею в виду «так же хорошо, как Visual Studio для C #».

Мой первый выбор текстового редактора – Notepad ++, но у него есть только список встроенных функций PHP, и он появляется только после нажатия Ctrl + SPACE. Я также пробовал Eclipse + PDT, который лучше, но все же часто имеет икоту, иногда вообще не удается без видимой причины (нет списка) и всегда появляется только при паузе ввода (установка тайм-аута на небольшое значение вызывает список не отображается вообще).

Так что – там что-то лучше? Что-то, что было бы известно обо всех переменных в текущей области, которые могли бы отслеживать include() s, и будет отображать список в режиме реального времени по мере ввода?

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

Добавлено: Чтобы добавить несколько второстепенных точек – я хочу, чтобы CC был мгновенным, как в Visual Studio. Я набираю символ, и список отображается в тот же момент. Я набираю другой символ, и список становится вдвое меньше, чем я могу даже моргнуть. Почти нулевое использование ЦП, мгновенные результаты (все приветствуют богов кеширования!).

Кроме того – я в порядке с документированием моих функций и даже переменных особым образом. Я предпочитаю синтаксис PHPLint (потому что тогда я могу проверить свой код с ним позже), но другие синтаксисы тоже будут работать. Принуждение к этому также полезно для вашей дисциплины комментариев. 🙂

Я обнаружил, что Netbeans имеет лучшее завершение кода, чем Aptana. Когда я работал с codeigniter, Netbeans завершил бы код для моих статических методов в моделях, где Aptana не будет.

С момента моего опубликования, JetBrains выпустил PHPStorm и имеет быстрый огонь intellisense, а также еще лучше намек типа. Он абсолютно превосходит всех остальных ИМХО. Я использую EAP 2.0 уже несколько месяцев бесплатно.

Вы правы, что intellisense намного сложнее в динамически типизированном языке, таком как php. Рассмотрим, например

  function get_foo($x) { return $x ? new abc() : new xyz(); } get_foo(123)->... can your IDE autocomplete here? 

Не знаю о PDT, но Netbeans не может справиться с этим, и phped требует, чтобы «get_foo» был аннотирован специальным образом.

Я еще не пробовал предстоящую WebIDE от Jetbrains ( http://www.jetbrains.com/webide/features/index.html ), но выглядит перспективным в этом отношении (см. Скриншот).

Несомненно, использование NetBeans очень полезно и имеет хороший интеллект (хорошо, не идеально), но лучше, чем Eclipse, например.

Я рекомендую вам netbeans. Бесплатно. он доступен для всех платформ, и в основном он хорош для редактирования php, jsp, java, css, html, … Хорошо для SVN, mercurial, плюс вы можете легко интегрировать его с kenai.com …

это помогает с появлением IntelliSense.

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

Я использую PHPEd ( http://www.nusphere.com/ ), который имеет работоспособную версию этой функции.

примечание : у них есть предложение, указанное на их первой странице. Игнорируйте это . Он закончился завтра в течение как минимум 4 лет.

Я так понимаю, вы в Windows. В Windows я обычно использую phpDesigner ( http://www.mpsoftware.dk/phpdesigner.php ), который имеет довольно хороший CC. В linux я использую geany ( http://www.geany.org/ ) или vim, оба из которых имеют CC, в последнем случае вам нужно будет настроить его. Я нашел Eclipse слишком раздутым, и я устал ждать его запуска. : \

Kimodo имеет хорошее завершение кода, раскрывая не только функции в PHP, но и то, что вы объявили в текущем контексте. Кроме того, если вы правильно зарегистрировали свою функцию или в зависимости от того, она отображает эту документацию!

Мне еще нужно увидеть что-то поверх автозаполнения, которое было в Zend Studio 5.x. Я пробовал более поздние версии, которые построены на Eclipse, и хорошо может также использовать Aptana …

К сожалению, это означает, что окна с XP или 2000 выглядят так, потому что GUI Java (одна из которых была построена Zend Studio) закручивается в Win7 Look, но для функций Zend 5 это стоит того.

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

Плюс возможность запускать локально внутри самой Zend Studio для тестирования частей кода. Если только это легко позволит вам сохранить как локальную файловую систему, так и одновременно загрузить на сервер … (я просто позволяю FTP-программе, работающей в фоновом режиме, каждые 10 минут загружать любые изменения на сервер).

ВИМ.

http://weierophinney.net/matthew/archives/123-Vim-7-code-completion.html

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

Завершение Word / Code в VIM

Вы можете попробовать Zend Studio.

http://www.aptana.org/

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