Чистый индекс Eclipse, он не синхронизирован с кодом

Я использую Eclipse с кодом С++ через связанные ресурсы в Linux. Индекс анализа кода, кажется, поврежден (определение Goto наводит курсор на приблизительное, но не включенное определение). Освежающие ресурсы не исправляют его, не перезапускают Eclipse.

Есть ли способ сбросить индекс и перестроить его?

Ответ 1

Щелкните правой кнопкой мыши на своем проекте, перейдите в подменю "Индекс" и выберите "Перестроить", "Обновить с измененными файлами" или "Освежить все файлы".

Я не знаю разницы между этими тремя параметрами, но один из "Обновление с измененными файлами" или "Освежить все файлы" обычно исправляет его для меня.

Кроме того, я уверен, что вы уже это сделали, но убедитесь, что вы используете последнюю версию Eclipse CDT. Текущие версии, похоже, имеют гораздо более надежную индексацию, чем предыдущие версии.

Ответ 2

Другой способ перебора - закрыть Eclipse, открыть каталог рабочей области и перейти к ".metadata \.plugins\org.eclipse.cdt.core" и удалить все там.

Это, наконец, помогает, если "Freshen all Files" и друзья не работают.

Ответ 3

Из http://dev.eclipse.org/mhonarc/lists/cdt-dev/msg10390.html различия между "Rebuild", "Update with modified files" или "Freshen all files":

Перестроить: работает только для целых проектов. Очищает индекс и индексы файлы с нуля. В случае отмены он оставляет вас с пустым или частичный индекс.

Обновление с измененными файлами: работает на ресурсе выбор. Проверяет отдельные файлы независимо от того, установлена ​​ли временная метка или scanner-config изменен и обновлен индекс для измененного файлы.

Освежить все файлы: работает с выбором ресурсов. Обновляет выбранные файлы в индексе. Индекс не очищается, безопасно отмените операцию.

Ответ 4

Перейдите в проект properties -> C++ general -> Indexer.

  • Сделайте это с помощью 'project specific settings',
    (или на 'Configure Workspace Settings...').
  • Снимите выделение 'Enable Indexer' нажмите Apply.
  • Выберите 'Enable Indexer' нажмите Apply.

Это должно полностью уничтожить и перестроить индекс.

Ответ 5

Ни один из вышеперечисленных не работал у меня (Eclipse Indigo), индекс все еще сломан и отказывается перестраиваться должным образом. До применения этого:

http://slsam2.blogspot.com/2012/02/eclipse-cdt-index-not-working.html

Ключевой бит связанного сообщения таков:

Eclipse больше не рассматривает ваш проект как проект на С++. Выберите меню File/New/Convert to a C/C++ project. Для индексации исходного кода требуется некоторое время.

Я все еще удивляюсь, как Eclipse может бесконтрольно стрелять себе в ногу так. Я подозреваю, что установка дополнительных пакетов может вызвать его. Возможно, поддержка JavaScript в моем случае.

Ответ 6

удалите только файл .pdom в .metadata.plugins\org.eclipse.cdt.core, я получил индексатор, ввернутый после обновления Neon.2 до Neon.3 и это, похоже, решает проблему. (этот комментарий уже существует выше, но мне не разрешено его там подтверждать).

Ответ 7

Вы пытались добавить -clean в командную строку для исполняемого файла eclipse?

Ответ 8

Eclipse больше не рассматривает ваш проект как проект на С++. Выберите меню Файл/Создать/Преобразовать в проект C/С++. Для индексации исходного кода требуется некоторое время. работал у меня

Ответ 9

Я начал с проверки Josh Kelleys и mmmmms без везения, но я, наконец, исправил это, проверив мои включенные пути.

Один из способов увидеть их в Project Explorer, расширить проект, и должна быть запись "Включает". Внутри этого проверьте желтый желтый предупреждающий треугольник на каждом включении пути. Если этот треугольник присутствует, затмение скорее всего не распознает путь.

Пути включения редактируются щелчком правой кнопкой мыши по "вашему проекту" в проводнике проекта, затем выберите "Свойства" → C/С++ Общие → Контуры и символы → Включает.

Я вижу три варианта языка: Assembly, Gnu C, Gnu С++. Выберите правильный, прежде чем начинать добавлять пути (вероятно, Gnu С++). После добавления всех путей, → Применить → Ок и перестроить индекс, если вас попросят.

Мои ошибочные пути рабочего пространства выглядели как MyProject/MyProject/folder, когда он должен был MyProject/folder.

Для меня проблема "Проблемы" всегда медленно обновляется, даже после восстановления индекса. Чтобы убедиться, что ошибка все еще существует, дважды щелкните запись о проблемах, чтобы eclipse открыл/перезагрузил файл. Мне часто кажется необходимым обновить представление "Проблемы".

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

Я использую Luna и строю с внешним make файлом.