Завершение PHP-кода NetBeans для собственного кода
Недавно я начал использовать NetBeans 6.7 беты для разработки PHP вместо Textmate и MacGDBp. Я довольно удивлен его набором функций, и большинство из них работали из коробки или были легко настроены по моему вкусу.
У меня проблема с функциями завершения кода; они работают для встроенных функций, SPL и некоторого моего кода, но не для всего моего кода, в частности, он никогда не работает ни для каких методов в моих классах, независимо от комментариев PHPDoc.
Кажется, я нигде не могу найти достойных вопросов, не говоря уже о ответах на эту конкретную тему. Похоже, что все остальные, у кого есть проблемы с завершением кода, просто не включили функцию автоматического всплывающего окна.
Итак, главный вопрос:
Есть ли способ повлиять на кеш завершения кода или что-то, что я должен добавить в свой код, чтобы он работал? Мне бы очень хотелось иметь завершение кода для методов, которые я пишу.
PS: я пробовал несколько старых версий netbeans, все они имеют одну и ту же проблему.
редактировать: я положил .zip моего текущего тестового проекта. получите это здесь. Это очень молодой проект, думаю, полтора дня.
edit2: ниже скриншот того, что я смотрю. Как вы можете видеть, он не может выполнить почти все, равно как и документацию по PHPDoc.
Ответы
Ответ 1
Я пробовал открыть ваш проект, и завершение, похоже, отлично работает для меня.
Единственное, что я могу придумать, - попытаться удалить весь кэш NB, который должен быть расположен в $HOME/.netbeans/$VERSION/var/cache/
. Это дикая догадка
Создайте резервную копию сначала, я не пробовал это!
Если это не удастся, возможно, вам стоит попробовать создать новый проект, возможно, это будет удар NB в прикладе.
Обратите внимание, что в бета-версии NB 7.2 кеш переместился в $HOME/.cache/netbeans/$VERSION.
Ответ 2
Что для меня работало, это очистка кеша, а затем явное включение некоторых подкаталогов ключей в путь Global include. Похоже, что по какой-то причине NB 6.7 не рекурсировал каталоги.
В том числе на уровне проекта также работал
Project- > Properties- > Include Path
Netbeans 7.01 + Windows 7
Ответ 3
Что сработало для меня, это удалить старую папку nbproject (которая была создана в Windows) и воссоздать проект PHP из существующих источников. Это на NB 7.0.1 Mac OS X. Очистка кеша не работает для меня.
Ответ 4
Имейте в виду синтаксис @property something
. Если объект больше не существует в вашем коде, NetBeans может иметь проблемы с надлежащим завершением кода. Рассмотрим пример:
/** in main file: **/
use ABC as _ ;
/** in file ABC: **/
/**
* @property \Something $something
*/
Если вы больше не используете $something
, NetBeans, скорее всего, сгенерирует исключение, тем самым не получив код.
Ответ 5
Если, например, вы открываете php файл с netbeans, не являясь частью проекта, завершение кода не работает вообще. Что вам нужно сделать, так это создать проект, в котором есть этот файл.
Протестировано на NetBeans 7.0.1