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