Eclipse: обновление известных типов в проекте Java - PullRequest
7 голосов
/ 18 мая 2009

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

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

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

Ответы [ 8 ]

19 голосов
/ 18 мая 2009

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

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

6 голосов
/ 29 апреля 2014

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

.
3 голосов
/ 18 мая 2009

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

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

1 голос
/ 10 августа 2009

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

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

0 голосов
/ 14 марта 2017

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

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

0 голосов
/ 24 августа 2015

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

0 голосов
/ 25 февраля 2015

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

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

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

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

...