it-roy-ru.com

Eclipse / Java завершение кода не работает

Я скачал, распаковал и установил Eclipse 3.4.2 с некоторыми плагинами (примечательно, EPIC, Clearcase, QuantumDB, MisterQ).

Теперь я обнаруживаю, что при редактировании проектов Java завершение кода не работает. Если я наберу String. и нажму ctrl+space всплывающее окно показывает "Нет предложений по умолчанию", а строка состояния внизу показывает "Нет доступных завершений".

Есть идеи?

537
Robert Brown

Попробуйте восстановить параметры по умолчанию в 'Windows > Preferences > Java > Editor > Content Assist > Advanced'

Пример типа данных, которые вы видите на этом экране предпочтений, но не обязательно того, что у вас есть в данный момент.

Eclipse content assist setting

(От Вадим в этом сообщение в блоге "Дубликаты контента в Eclipse (Mylyn)" :
если есть повторяющиеся записи Mylyn, снимите флажки с дублирующих записей, которые не содержат "(Mylyn)" в своем имени)

страница справки Eclipse определяет список по умолчанию для восстановления:

Выберите виды предложений, содержащиеся в вспомогательном списке контента по умолчанию :

  • Другие Java Предложения,
  • Предложения по шаблонам SWT,
  • Шаблонные предложения,
  • Типовые предложения
1136
VonC

Я добавляю ответ здесь на случай, если кто-то еще найдет это в Google. Те же симптомы; другая проблема. Для меня кеши типа стали испорченными.

От http://mschrag.blogspot.co.nz/2009/01/open-type-cant-find-your-class.html

  • Выйти из Затмения
  • Перейдите в рабочую область/.metadata/.plugins/org.Eclipse.jdt.core
  • Удалить * .index и saveIndexNames.txt
  • Перезапустите Eclipse и найдите Ctrl + T, чтобы найти тип ошибки. Индексы будут перестроены.
64
hoipolloi

Если кто-то приходит сюда и хочет активировать функцию автозаполнения, перейдите к

Preferences -> Java -> Editor -> Content Assist.

Затем в разделе Автоматическая активация заполните триггеры автоматической активации для Java:

abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ._

enter image description here

20
Hoa Vu

Для тех, кто использует Xfce + с активированным плагином IBus, может возникнуть конфликт клавиш.

Смотрите больше информации в моем блоге: http://peter-butkovic.blogspot.de/2013/05/keyboard-shortcut-ctrlspace-caught-in.html

ОБНОВИТЬ:

как предложено в комментарии @ nhahtdh, добавив еще немного информации для прямого ответа: плагин IBus в Xfce использует по умолчанию Ctrl+Space ярлык для переключения раскладки клавиатуры. Чтобы изменить его, перейдите к: Параметры и измените его на то, что вы предпочитаете.

18
Peter Butkovic

Проверьте библиотеку вашего проекта. Возможно, вы включили два таких jar-файла, в которых доступен один и тот же класс, или, например, один класс в коде может быть связан с двумя jar-файлами. В этом случае Eclipse также перестает помогать коду, поскольку он полностью запутан.

Лучший способ проверить это - перейти к файлу, в котором помощник не работает, и прокомментировать там все операции импорта, чем добавлять импорт по одному и проверять при каждом импорте, работает код-помощник или нет. Вы можете легко найти класс с дублирующимися ссылками. ,.

10
Mona

Ничто из этого не помогло мне.

Я испытывал эту проблему только в одном конкретном классе. В конечном итоге у меня получилось удалить класс-нарушитель и воссоздать его. Проблема решена ... загадки не так много!

9
Marc

Если вы установили панель инструментов Google для IE, возможно, вы столкнулись с той же проблемой. Потому что панель инструментов захватывает сочетание клавиш Ctrl + Пробел.

5
Shashi

Я тоже сталкиваюсь с этой проблемой, но она решается по-другому. Шаги, которым я следую, могут быть полезны для других.

  1. Щелкните правой кнопкой мыши по проекту (тот, над которым вы работаете)
  2. Перейдите в Свойства> Java Путь сборки> Системная библиотека JRE
  3. Нажмите Редактировать ... справа
  4. Выберите JRE 7
4
asifaftab87

Я столкнулся с этой проблемой и часами пытался ее выяснить. попытался выполнить шаги, упомянутые в разных ответах выше, решение, которое я нашел, находится в тех же строках, что и Мона, но немного отличается. Попытка добавить в качестве комментария к ответу Моны, но не было возможности. Проблема с моим Eclipse была, classpath каким-то образом был поврежден, и все jar-файлы и зависимые проекты отсутствовали. после получения последней версии .classpath из репозитория все работало нормально.

4
Nirmal Mangal

У меня была эта проблема и, как @Marc, только в определенном классе. Я обнаружил, что мне нужно назначить Open With = Java Editor. Как новичок в Eclipse, я даже не осознавал, что просто использую простой редактор.

В проводнике пакетов щелкните файл правой кнопкой мыши и выберите "Открыть с помощью".

4
Elroy Flynn

Может быть, это помогает другим людям, которые сталкиваются с той же проблемой.

Моя настройка: старый проект Gradle (версия Gradle 2.12), сделанный кем-то другим, импортированный с помощью Gradle Import Wizard в STS (Eclipse Oxygen.2 (4.7.2)).

Завершение кода также не работает (и у меня все еще есть пустые J в файлах Java), но по крайней мере я получил завершение кода, выполнив:

  • щелкните правой кнопкой мыши папку проекта> Свойства> Gradle> Настройка параметров рабочего пространства> Java> Редактор> Помощник по содержимому> Дополнительно
  • отметьте "Предложения Java в верхнем окне.
  • 2x Применить и закрыть
3
Togepi

Другое решение, которое сработало для меня, это перейти на Java -> Appearence -> Type Filters и отключить всеenter image description here

2
user1889970

Я столкнулся с этим, и все закончилось тем, что я открывал файл в текстовом редакторе, а не в редакторе Java.

Я хотел бы прокомментировать https://stackoverflow.com/users/607470/elroy-flynn ответ, но добавление комментария работает только после того, как у меня рейтинг 50? не уверен, что это WTF ...

Спасибо том

2
Tom Orsi

После того, как вы проверили конфигурацию, и завершение все еще не работает:

  • убедитесь, что у вас правильная структура каталогов.

Вы видите правильный значок рядом с файлом ?:

enter image description here

Он расскажет вам, как файл будет обрабатываться Eclipse:

enter image description here

Я публикую этот ответ, поскольку у меня была эта история с артефактом веб-приложения Maven. По умолчанию Maven-WebApp не создает папку для источников, и я помещаю свой Java в ресурсы, в течение 5 минут гадая, что происходит ... :)

2
Witold Kaczurba

Убедитесь, что вы не отфильтровали много параметров в Окне> Настройки> Java> Внешний вид> Фильтры типов

Элементы в этом списке не будут отображаться в режиме быстрого исправления, автозаполнения или появляться в других местах, например в диалоговом окне "Открыть тип".

2
Aaron

В моем случае Intellisense исчез только в нескольких классах в одном проекте. Оказалось, это из-за отсутствия библиотеки в пути сборки (хотя раньше это работало).

Поэтому обязательно проверьте все ошибки или проблемы в Eclipse и попробуйте найти, если библиотека может отсутствовать

2
arnehehe

Для меня проблема заключалась в конфликте между несколькими версиями одной и той же библиотеки. Eclipse Assist использовал более старую версию, чем Maven.

Мне пришлось перейти в каталог .m2 и удалить ненужную версию lib + перезапустить Eclipse.

1
ilinca

На всякий случай, если кто-нибудь попадет в отчаянную точку, где ничего не работает ... Нам случилось, что помощник по контенту каким-то образом сократился, поэтому никаких предложений не было, просто можно было увидеть "Нажать Ctrl + Пробел для не-Java ...". Таким образом, для увеличения всплывающего окна достаточно было просто перетащить за угол вспомогательный контент.

Я знаю, неловко. Надеюсь, поможет.

Примечание: это был сервер Ubuntu с Xfce4, использующий Eclipse Oxygen.

1
tete

У меня возникают проблемы в Eclipse Neon, когда редактирование файла, который не принадлежит каталогу проекта. Когда я копирую тот же файл в корневой каталог проекта, даже не в каталог src, завершение начинает работать.

Когда файл открывается из другого каталога, работает только завершение для JRE. Например: Java. завершается, а junit. - нет.

1
Jarekczek

Для тех, кто использует последнюю версию 3-19 Eclipse:

Это случилось со мной при обновлении с Oxygen до -19 версии Eclipse, поэтому я предполагаю, что функция автозаполнения не переносится правильно во время процесса обновления.

Единственное решение, которое мне помогло, - это создать новое рабочее пространство Eclipse и импортировать в него проекты. Это может занять несколько минут, но оно того стоит - по сравнению с временем, потраченным на другие решения ...

0
Naor Bar