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

452

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

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

Любые идеи?

  • 1
    Для тех из вас, кто пытается это исправить в Ubuntu, [вот ответ] [1]. [1]: askubuntu.com/questions/243639/…
Теги:
ide

19 ответов

964
Лучший ответ

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

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

Изображение 1504

(Из Vadim в этом блоге "Content Assist Duplicates в Eclipse (Mylyn)" :
если имеют двойные записи Mylyn, снимите отметку с повторяющихся записей, которые не содержат "(Mylyn)" в их имени)

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

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

  • Другие предложения Java,
  • Предложения шаблонов SWT,
  • Предложения шаблонов,
  • Типовые предложения
  • 2
    Недавно мне удалось перезапустить Eclipse с опцией -clean, но даже это больше не работает. Это добавило ко всем проблемам с Eclipse, наконец, заставил меня перестать пытаться работать с этим дерьмовым редактором.
  • 0
    @ ImanMarashi + 6 лет после моего ответа, я не буду знать наверняка: вы можете сделать это независимым вопросом, с большим количеством деталей.
Показать ещё 1 комментарий
52

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

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

  • Закройте Eclipse
  • Перейдите в рабочую область /.metadata/.plugins/org.eclipse.jdt.core
  • Удалить *.index и savedIndexNames.txt
  • Перезапустите Eclipse и найдите Ctrl + T для типа нарушения. Индексы будут восстановлены.
  • 0
    +1, это сработало для меня. Я также ранее страдал от Eclipse, думая, что мой проект был в 1.5, несмотря на то, что все варианты говорили иначе, поэтому он должен был быть поврежден во время этой проблемы.
  • 3
    Подожди, неважно. После попытки вашего метода CA работает ровно один раз, а затем снова взрывается. Тьфу. Проблема сохраняется даже после воссоздания всего рабочего пространства. Никакое другое решение здесь не работает ...
Показать ещё 4 комментария
17

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

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

UPDATE

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

  • 3
    Пожалуйста, включите основные части вашего блога здесь, на случай, если он станет недоступен в будущем.
  • 2
    Это решило проблему для меня. Вы можете запустить менеджер настроек с помощью ibus-setup
Показать ещё 2 комментария
9

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

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

  • 0
    Я знаю, что это старый ответ, но, похоже, это моя проблема. Я определил классы, которые вызывают проблему. А теперь что ??
8

Ни один из них не работал у меня.

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

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

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

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

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

abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ._

Изображение 1505

5

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

4

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

  • Щелкните правой кнопкой мыши проект (тот, над которым вы работаете)
  • Перейдите в "Свойства" > "Путь сборки Java" > "Системная библиотека JRE"
  • Нажмите "Изменить"... справа.
  • Выберите JRE 7
  • 0
    идеально! Спасибо
4

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

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

4

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

  • 1
    Эй .... спасибо большое, приятель ... Это работает .. Мой jre8 был свободен в моем билде.
  • 0
    рад, что это помогло тебе.
2

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

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

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

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

Я столкнулся с этим, и в итоге я открыл файл с текстовым редактором, а не с редактором java.

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

Спасибо, Том

  • 0
    Блок репутации в основном состоит в том, что у людей есть причины получать больше, чем просто иметь больше. Так как это также служит мерой того, насколько вы вовлечены и уважаемы в сообществе (то есть как репутация), вы получаете больше привилегий, когда вы получаете больше репутации. Возможно, вы захотите взглянуть на тур, чтобы узнать больше о том, как работает сайт: stackoverflow.com/tour .
2

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

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

2

Другим решением, которое сработало для меня, является переход на Java → Appearence → Type Filters и отключить все Изображение 1506

2

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

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

  • 0
    Этот укусил меня! Благодарю.
1

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

Я знаю, смущающе. Надеюсь, что это поможет.

Примечание. Это был сервер Ubuntu с Xfce4 с использованием Eclipse Oxygen.

1

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

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

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

Изображение 1507

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

Изображение 1508

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

1

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

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

1

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

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

Сообщество Overcoder
Наверх
Меню