Затмение:Обновление известных типов в проекте Java

StackOverflow https://stackoverflow.com/questions/879331

  •  22-08-2019
  •  | 
  •  

Вопрос

Если вы нажмете Shift+Ctrl+T или выберите «Навигация > Открыть тип...», вы получите диалоговое окно «Открыть тип» для быстрого перехода к известному классу.Когда вы начинаете вводить имя, остаются видимыми только те классы, которым соответствует имя.Таким образом, вы сможете очень быстро найти класс, имя которого вам известно, без необходимости просматривать дерево проводника пакетов.

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

Раньше, когда InteliJ делал это со мной, я находил файлы его кеша и удалял их, заставляя его перестраиваться.Есть ли в Eclipse что-то подобное, что я мог бы сделать (я новичок в Eclipse)?Я использую Eclipse 3.4.2, и он настроен на нет удалить файлы при очистке (потому что наш фактический процесс сборки помещает файлы в выходные каталоги, с которыми я не хочу, чтобы Eclipse возился).

Это было полезно?

Решение

Вы пробовали закрыть и снова открыть проект?В памяти хранятся только типы из открытых проектов, а обновление происходит при первом нажатии Shift+Ctrl+T в новом открытом проекте.

Изменить, чтобы добавить:Ctrl+Shift+R также отображает типы (вместе со всем остальным), но также поддерживает вариант Camel для быстрого поиска типов Java.

Другие советы

Закройте eclipse и удалите все файлы .index и файл saveIndexNames.txt в рабочей области/.metadata/.plugins/org.eclipse.jdt.core. После перезапуска eclipse он перестроит весь индекс для Ctrl+T.

попробуйте запустить eclipse с флагом -clean, вы можете добавить его в свой eclipse.ini, который можно найти в том же каталоге, что и eclispe.exe, или, если вы запускаете eclipse с помощью сценария bat или оболочки, добавьте его в качестве аргумента запуска. , напримерзатмение - чистое.

Очистка приведет в порядок ваше рабочее пространство и заставит eclipse JDT пересчитать типы.У меня была проблема с файлами .snap (похоже, что они создавались при некорректном завершении работы), которые, похоже, повреждали мое рабочее пространство, пока я их не очистил, недавно eclipse потерял класс Object!!допущено несколько интересных ошибок!

У меня часто возникают такие проблемы.Я попробовал ваше решение и заметил, что оно, похоже, перестроило свой поисковый индекс, но мне все равно не удалось найти ни одного из своих классов.Затем я взглянул на маленькую зеленую стрелку в правом верхнем углу этого диалогового окна и заметил, что у меня выбран рабочий набор, принадлежащий другому проекту.Я нахожу немного глупым, что Eclipse не предупреждает вас об этом или о чем-то еще, поскольку это может быть очень раздражающей маленькой деталью, которую люди склонны забывать (по крайней мере, я ;-)).

В любом случае, я нажал «Отменить выбор рабочего набора» и бац, я снова могу найти свои классы.Думаю, я бы добавил это сюда, поскольку другие могут совершить ту же ошибку.

Это сработало для меня -

  1. Выберите свой проект в Package Explorer
  2. Нажимать F5 или щелкните правой кнопкой мыши и выберите Refresh

Я использовал «-clean» в качестве первой строки в eclipse.ini (версия Juno) и работал как шарм.

Я перепробовал все ответы, но проблема все еще оставалась.Затем я попробовал это:
Я удалил проект (это проект Maven) и повторно импортировал его.На этот раз я обязательно установил флажок «Добавить проект(ы) в рабочий набор».После этого Eclipse смог найти классы в этом проекте.

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

(Предупреждение:Впереди бессовестный маркетинг)

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top