Несмотря на то, что некоторые могут сказать, я считаю, что автозавершение кода (также известное как Intellisense) является вторым лучшим изобретение, когда дело доходит до редакторов кода (первая из которых - это окраска синтаксиса). Это действительно упрощает кодирование, потому что мне не нужно беспокоиться о том, назвал ли я функцию CalculateReportSums
, ReportSumsCalculate
или просто GetReportSums
.
К сожалению, я еще не нашел редактора кода, который бы удовлетворительно реализовал эту функцию для PHP. Под «удовлетворительно» я подразумеваю «не хуже Visual Studio для C #».
Мой первый выбор текстового редактора - Notepad ++, но в нем есть только список встроенных функций PHP, и он появляется только после того, как вы нажмете Ctrl + SPACE. Я также пробовал Eclipse + PDT, что лучше, но по-прежнему часто возникает икота, иногда происходит сбой вообще без видимой причины (список недоступен) и всегда появляется только тогда, когда я приостанавливаю набор текста (установка тайм-аута на небольшое значение вызывает список, чтобы не появляться в целом).
Итак - есть ли что-нибудь получше? Что-то, что будет знать обо всех переменных в текущей области, что сможет следовать за include()
s и будет отображать список в реальном времени по мере того, как я набираю?
Я знаю, что PHP - это динамический язык, и идеальное завершение кода в принципе невозможно (потому что вы не знаете, какие переменные будут там до времени выполнения), но все же должна быть возможность реализовать его в довольно хорошей степени - очень лучше, чем то, что я видел до сих пор.
Добавлено: чтобы добавить несколько незначительных моментов - я хочу, чтобы CC был мгновенным, как в Visual Studio. Я набираю символ, и сразу появляется список. Я набираю еще один символ, и список уменьшается вдвое, прежде чем я успеваю даже моргнуть. Практически нулевая загрузка ЦП, мгновенные результаты (да здравствуют боги кеширования!).
Кроме того, я хорошо документирую свои функции и даже переменные особым образом. Я предпочитаю синтаксис PHPLint (потому что тогда я смогу проверить с ним свой код позже), но подойдут и другие синтаксисы. Принуждение к этому также полезно для вашей дисциплины комментирования. :)