PHP IDE с лучшим завершением кода?
Несмотря на то, что кто-то может сказать, я считаю, что завершение кода (aka Intellisense) является вторым лучшим изобретением, когда дело доходит до редакторов кода сначала синтаксическая раскраска). Это действительно упрощает кодирование, потому что мне не нужно беспокоиться, называю ли я функцию CalculateReportSums
, ReportSumsCalculate
или просто GetReportSums
.
К сожалению, я еще не нашел редактор кода, который бы удовлетворительно реализовал эту функцию для PHP. И "удовлетворительным" я имею в виду "так же хорошо, как Visual Studio для С#".
Мой первый выбор текстового редактора - Notepad ++, но у него есть только список встроенных функций PHP, и он появляется только после нажатия Ctrl + SPACE. Я также пробовал Eclipse + PDT, который лучше, но все же часто имеет икоту, иногда вообще не удается без видимой причины (нет списка) и всегда появляется только при паузе ввода (установка тайм-аута на небольшое значение вызывает список не отображается вообще).
Итак - там что-то лучше? Что-то, что было бы известно обо всех переменных в текущей области, которые могли бы следовать за include()
s и отображали бы список в режиме реального времени по мере ввода?
Я знаю, что PHP - это динамический язык, и в принципе невозможное полное завершение кода невозможно (потому что вы не знаете, какие переменные будут там до выполнения), но все равно можно реализовать его довольно неплохо степени - намного лучше, чем я видел до сих пор.
Добавлено:. Чтобы добавить несколько второстепенных точек - я хочу, чтобы CC был мгновенным, например, в Visual Studio. Я набираю символ, и список отображается в тот же момент. Я набираю другой символ, и список становится вдвое меньше, чем я могу даже моргнуть. Почти нулевое использование ЦП, мгновенные результаты (все приветствуют богов кеширования!).
Также - я в порядке с документированием моих функций и даже переменных особым образом. Я предпочитаю синтаксис PHPLint (потому что тогда я могу проверить свой код с ним позже), но другие синтаксисы тоже будут работать. Принуждение к этому также полезно для вашей дисциплины комментариев.:)
Ответы
Ответ 1
Я обнаружил, что Netbeans имеет лучшее завершение кода, чем Aptana. Когда я работал с codeigniter, Netbeans завершил бы код для моих статических методов в моделях, где Aptana не будет.
С момента моего опубликования, JetBrains выпустил PHPStorm и обладает быстрым огненным intellisense, а также еще более точным намеком. Он абсолютно превосходит всех остальных ИМХО. Я использую EAP 2.0 уже несколько месяцев бесплатно.
Ответ 2
Вы правы, что 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), но выглядит перспективным в этом отношении (см. снимок экрана).
Ответ 3
Без сомнения, использование NetBeans очень полезно и имеет хороший интеллект (хорошо, не идеально), но лучше, чем Eclipse, например.
Ответ 4
Я рекомендую вам netbeans. бесплатно. он доступен для всех платформ, и в основном он хорош для редактирования php, jsp, java, css, html,...
Хорошо для SVN, mercurial, плюс вы можете легко интегрировать его с kenai.com...
он помогает при всплывании IntelliSense.
Поверь мне, я использую его для разработки php, и его лучший подходящий идеал я могу найти...
Ответ 5
Я использую PHPEd (http://www.nusphere.com/), который имеет работоспособную версию этой функции.
note: у них есть предложение, указанное на их первой странице. Игнорировать это. Это завершение завтра не менее 4 лет.
Ответ 6
Я так понимаю, вы в Windows. В Windows я обычно использую phpDesigner (http://www.mpsoftware.dk/phpdesigner.php), который имеет довольно хороший CC. В linux я использую geany (http://www.geany.org/) или vim, оба из которых имеют CC, в последнем случае вам нужно будет установить его вверх. Я нашел Eclipse слишком раздутым, и я устал ждать его запуска.:\
Ответ 7
Kimodo имеет хорошее завершение кода, раскрывая не только функции в PHP, но и то, что вы объявили в текущем контексте. Кроме того, если вы правильно зарегистрировали свою функцию или в зависимости от того, она отображает эту документацию!
Ответ 8
Мне еще нужно увидеть что-то поверх автозаполнения, которое было в Zend Studio 5.x. Я пробовал более поздние версии, которые построены на Eclipse, и хорошо может также использовать Aptana...
К сожалению, это означает, что для Windows XP или 2000 внешний вид выглядит так, потому что графический интерфейс Java (один из которых был встроен в Zend Studio) закручивается в Win7 Look, но для функций Zend 5 это стоит того.
Он не только автоматически завершит известные функции, но и автоматически запустит переменные/функции, а не только ваш текущий файл, но любой открытый файл (и я думаю, что любой в открытом проекте), и автоматически предложит объекты класса как хорошо.
Плюс, что можно запускать локально внутри самой Zend Studio для тестирования частей кода, отлично. Если только он легко позволит вам сохранить и локальную файловую систему, и одновременно загрузить на сервер... (я просто позволяю FTP-программе, работающей в фоновом режиме, каждые 10 минут загружать любые изменения на сервер).
Ответ 9
http://www.aptana.org/
Кодовая помощь
Помогает в разработке HTML, CSS, JavaScript, PHP и Ruby. Поддерживает новейшие спецификации HTML5. Включает информацию о уровне поддержки каждого элемента в основных веб-браузерах
Ответ 10
ВИМ.
http://weierophinney.net/matthew/archives/123-Vim-7-code-completion.html
Кроме того, глядя на рекомендуемые аналогичные вопросы, я заметил, что уже есть хороший вопрос, обсуждающий различные способы использования завершения кода vim.
Заполнение Word/Code в VIM
Ответ 11
Вы можете попробовать Zend Studio.