Автозаполнение Netbeans 7.2 для класса пространства имен
Изменить: ошибка сообщена, принята и исправлена http://netbeans.org/bugzilla/show_bug.cgi?id=225062
Так как день или два моя среда IDE Netbeans перестала хинтовать аргументы класса, а автозаполнение не работает для классов с пространством имен, и мне просто интересно, что я мог бы сделать, чтобы сломать автозаполнение / подсказку - или это известная ошибка. Это воспроизводится в Ubuntu 12.10 и Windows 7 с использованием Netbeans 7.2, а также с Netbeans 7.3 beta 2.
Это было бы странно, если бы это была известная ошибка, потому что я почти уверен, что она работала пару дней назад.
Сценарий;
Класс HostNameRoute существует в пространстве имен Router\Route, конструктор принимает два аргумента $route и $ action.
namespace Router\Route;
class HostNameRoute {}
Из корневого пространства имен я имел обыкновение получать подсказки и автозаполнение, набрав:
new HostNam[Ctrl+Space] :: Suggests HostNameRoute($route, $action) :: [Enter]
Would produce
new \Router\Route\HostNameRoute(<$route>, <$action>);
Но теперь IDE просто намекает на полное имя, но не показывает документацию по аргументам и не выполняет автозаполнение. Тем не менее, он вызывает статическое странное поле над именем класса (не интерактивное).
Однако подсказка и автозаполнение по-прежнему работают для классов в корневом пространстве имен:
new Te[Ctrl+Space] :: Suggests Test($arg) :: [Enter]
Produces
new Test(<$arg>);
Работает для корневого пространства имен
Не работает для пространства имен
1 ответ
У меня просто была похожая проблема, когда Netbeans прекратил автозаполнение в определенном проекте (другие проекты работали нормально). Я использую Netbeans 7.2.1 в Windows 7. Я также использую пространства имен и операторы использования. При попытке использовать автозаполнение Netbeans просто давал мне имена переменных, объявленные в том же методе. Использование этого ключевого слова в классе даже не дало бы мне переменных / методов в этом классе.
Вот что я сделал, чтобы это исправить:
- Зашел в окно "Project" и щелкнул правой кнопкой мыши на моем проекте и нажал "закрыть"
- Закрытые Netbeans
- Удаленный кеш Netbeans. Это можно найти в C:\Users\ProfileName\AppData\Local\NetBeans\Cache\7.2.1 на компьютере с Windows.
- Открытые Netbeans
- Добавил мой код обратно в качестве проекта, перейдя в File->New Project...
- Проверил автозаполнение и все заработало!