Подтвердить что ты не робот

Завершение PHP-кода NetBeans для собственного кода

Недавно я начал использовать NetBeans 6.7 беты для разработки PHP вместо Textmate и MacGDBp. Я довольно удивлен его набором функций, и большинство из них работали из коробки или были легко настроены по моему вкусу.

У меня проблема с функциями завершения кода; они работают для встроенных функций, SPL и некоторого моего кода, но не для всего моего кода, в частности, он никогда не работает ни для каких методов в моих классах, независимо от комментариев PHPDoc.

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

Итак, главный вопрос:

Есть ли способ повлиять на кеш завершения кода или что-то, что я должен добавить в свой код, чтобы он работал? Мне бы очень хотелось иметь завершение кода для методов, которые я пишу.

PS: я пробовал несколько старых версий netbeans, все они имеют одну и ту же проблему.

редактировать: я положил .zip моего текущего тестового проекта. получите это здесь. Это очень молодой проект, думаю, полтора дня.

edit2: ниже скриншот того, что я смотрю. Как вы можете видеть, он не может выполнить почти все, равно как и документацию по PHPDoc.

alt text

4b9b3361

Ответ 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