Автозаполнение 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 просто давал мне имена переменных, объявленные в том же методе. Использование этого ключевого слова в классе даже не дало бы мне переменных / методов в этом классе.

Вот что я сделал, чтобы это исправить:

  1. Зашел в окно "Project" и щелкнул правой кнопкой мыши на моем проекте и нажал "закрыть"
  2. Закрытые Netbeans
  3. Удаленный кеш Netbeans. Это можно найти в C:\Users\ProfileName\AppData\Local\NetBeans\Cache\7.2.1 на компьютере с Windows.
  4. Открытые Netbeans
  5. Добавил мой код обратно в качестве проекта, перейдя в File->New Project...
  6. Проверил автозаполнение и все заработало!
Другие вопросы по тегам