Автозаполнение Eclipse не работает в некоторых файлах Java
Я заметил, что автозаполнение не работает в некоторых java файлах в Eclipse.
Кроме того, файлы, в которых автозаполнение не работает, отображают полый "J" в качестве значка для файла Java. Файлы, в которых работает автозаполнение, значок для java файла - это заполненный "J"
Мне интересно, может ли кто-нибудь указать, что пошло не так, как пошло, почему изменения в значках и почему подсветка автозаполнения и синтаксиса отключена в файлах с полым значком "J" ?
Спасибо.
Обновление
В основном, я делал то, что предлагал VonC, но Eclipse не обновлялся, поэтому я думал, что предложение VonC не работает после обновления, проблема решена.
Ответы
Ответ 1
На этом следующем рисунке MyClass.java
имеет полый J
, потому что он явно исключен из источников для сборки:
![alt text]()
Не могли бы вы перейти к свойствам проекта, вкладке "Java Build Path
", вкладке "Source
" и узнать, установлен ли какой-либо фильтр исключения?
Обычно, например, можно определить:
**/Test*.java
чтобы сначала исключить класс unit-test (когда у вас есть большой набор источников и не хотите, чтобы они были представлены классами Test во время автозаполнения или не хотели, чтобы они учитывались при поиске исходного кода).
Ответ 2
Поскольку этот вопрос высоко оценен в Google, я добавлю решение для исправления общей автоматической полной проблемы, а не для "полых J".
Попробуйте Окно (Windows/Linux) или Eclipse (OS X) → Настройки → Java → Редактор → Content Assist → Восстановить значения по умолчанию
и
Content Assist → Дополнительно → Восстановить значения по умолчанию
Ответ 3
некоторые ответы (восстановление по умолчанию) выше не работают для некоторых пакетов пакетов adt с jan '13.
в этих случаях, перейдите к
Окно → Настройки → Java → Редактор → Content Assist → Дополнительно
и отметьте опцию JAVA PROPOSAL.
Ответ 4
Те, у кого есть пустое J, не являются частью пути сборки проекта, поэтому они не могут участвовать в нормальном процессе сборки, и поэтому автозаполнение не будет включено для этих файлов (и другие функции редактора Java!). Вы должны добавить папки с файлами Java, которые должны быть построены в пути сборки, используя раздел "исходный путь" свойств проекта. Доступ к нему можно получить, щелкнув правой кнопкой мыши по проекту в навигаторе проекта/проводнике пакетов и выбрав "Свойства". Подробнее см. http://www.informit.com/articles/article.aspx?p=367962.
Кроме того, если файлы не являются частью проекта Java в первую очередь, вы должны создать проект и перенести файлы или поместить файлы в существующую. Снова убедитесь, что этот файл находится в исходном каталоге, как описано в этом разделе свойств проекта.
![alt text]()
Ответ 5
Я справляюсь с проблемой, удаляя файл, если автозаполнение не работает. Перед копированием исходного кода. Затем я воссоздал java файл с тем же именем. Вставлял ранее скопированный исходный код.
Ответ 6
Как дополнение к ответу @VonC, убедитесь, что файлы Java являются частью шаблона включения. У меня был случай, когда процесс сборки создавал проект, в том числе только файлы .js, а не файлы Java:
![Shows Eclipse Include without Java files]()
Вы можете вручную отредактировать включения с помощью кнопки "Редактировать". В моем случае исправление было сделано для сборки script, чтобы сделать ее постоянной.
Ответ 7
Убедитесь, что у вас есть правильная структура каталогов. Я считаю, что:
- Значок Hollow J рядом с файлом Java - не будет создан
- Обычный значок J рядом с файлом Java - это файл для сборки.
Я ошибся, когда создал webapp artefact. По умолчанию он не создает папку для Java, а для ресурсов. Я ошибочно поставил туда свои источники.
Посмотрите - см. Разницу.
![введите описание изображения здесь]()
Ответ 8
Не восстанавливать значения по умолчанию или мой путь сборки (файл уже был в каталоге пакетов с другими файлами, в которых выполнялась автозаполнение). Исправить для меня было закрыть файл явно (щелкните правой кнопкой мыши по имени файла на вкладке) и снова откройте. Интересно, что просто перезапуск Eclipse тоже не работал.