Eclipse/Java: не работает автозавершение кода
Описание проблемы для StackOverflow.com:
Я скачал, распаковал и настроил Eclipse 3.4.2 с несколькими плагинами (в том числе EPIC, Clearcase, QuantumDB, MisterQ).
Теперь, когда я редактирую Java-проекты, автозавершение кода не работает. Если я наберу String.
и нажму ctrl+space, то появляется всплывающее окно с сообщением "Нет предложений по умолчанию", а в нижней части окна показывается статус "Нет доступных завершений".
Есть идеи, как это исправить?
5 ответ(ов)
Я добавляю ответ здесь на случай, если кто-то еще столкнется с этой проблемой. Симптомы могут быть похожими, но причина, как оказалось, другая. В моем случае кеши типов оказались повреждены.
Из источника: http://mschrag.blogspot.co.nz/2009/01/open-type-cant-find-your-class.html
- Закройте Eclipse
- Перейдите в папку workspace/.metadata/.plugins/org.eclipse.jdt.core
- Удалите все файлы с расширением *.index и savedIndexNames.txt
- Перезапустите Eclipse и выполните поиск нужного типа. Индексы будут восстановлены.
Для пользователей Xfce, у которых активирован плагин IBus, может возникнуть конфликт клавиш.
Дополнительную информацию можно найти в моем блоге: http://peter-butkovic.blogspot.de/2013/05/keyboard-shortcut-ctrlspace-caught-in.html
ОБНОВЛЕНИЕ:
Как предложил комментарий @nhahtdh, добавлю немного больше информации для непосредственного ответа: плагин IBus в Xfce по умолчанию использует сочетание клавиш для переключения раскладки клавиатуры. Чтобы изменить его, перейдите в "Опции" и измените на любое другое сочетание, которое вам больше подходит.
Проверьте библиотеки вашего проекта. Возможно, у вас подключены два jar-файла, в которых доступен один и тот же класс, или один класс в коде можно использовать в двух jar-файлах. В таком случае Eclipse перестает предоставлять помощь с кодом, так как он полностью запутан.
Лучший способ проверить это — перейти в файл, где не работает автодополнение, и закомментировать все импорты. Затем добавляйте импорты по одному и проверяйте, работает ли автодополнение после каждого добавления. Таким образом, вы легко найдете класс с дублирующимися ссылками.
Ничто из предложенного не сработало для меня.
У меня возникла эта проблема только в одном конкретном классе. В итоге я удалил проблемный класс и заново его создал. Проблема решена… загадка не так уж и велика!
Если вы установили Google Toolbar для Internet Explorer, возможно, вы столкнетесь с аналогичной проблемой. Дело в том, что панель инструментов перехватывает комбинацию клавиш Ctrl.
Ошибка «Необходимо переопределить метод суперкласса» после импорта проекта в Eclipse
Не удается запустить Eclipse - Java был запущен, но вернул код завершения = 13
Необходимый компилятор в данной среде отсутствует. Возможно, вы используете JRE вместо JDK?
Что значит "Не удалось найти или загрузить основной класс"?
Почему в RecyclerView отсутствует onItemClickListener()?