Eclipse CDT indexing не работает для поиска объявлений в проекте - PullRequest
6 голосов
/ 31 января 2012

Я установил плагин Eclipse & CDT на недавно установленную Ubuntu. Для индексации установлено значение «Быстрая индексация», что рекомендуется («Полная индексация», похоже, имеет незначительную разницу).

Во многих местах, если я нажимаю 'F3' ('показать объявление') на любом class имени или включаю имя файла, курсор остается на месте и не ведет к объявлению. Тем не менее, он работает для стандартных файлов и символов, таких как stdio.h, std::vector и т. Д.

Например, у меня есть 2 файла,

/home/myself/Workspace/Project/X/Y/include/file.h
/home/myself/Workspace/Project/X/src/file.cpp

Я не могу увидеть ни одного объявления class или переменных, отображаемых в file.cpp, которые находятся внутри file.h. Даже нажав 'F3' на #include"file.h", я не могу перейти на file.h.

Eclipse Workspace создается в папке Workspace, проект C ++ создается в папке Project. Чтобы сохранить путь включения, я следовал этой процедуре в Eclipse:

Проект -> Свойства -> Общие сведения о C / C ++ -> Пути и символы -> Библиотека и пути -> Добавить "/Project/X/Y/include/file.h" (используется 'Рабочая область) вкладки 'и' FileSystem ')

Но все равно не повезло. Я сделал достаточно поиска в Интернете и ТАК, но не смог найти ничего полезного. Обратите внимание, что я использую eclipse только для просмотра кода, а не для сборки кода на данный момент.

1 Ответ

14 голосов
/ 31 января 2012

Хорошо, все заработало.На самом деле все, что включает пути , которые я включил в Paths and Symbols, является избыточным, и они не имеют значения, так как все под Workspace/Project будет проиндексировано.

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

Окно -> Настройки -> C / C ++ -> Редактор -> Масштабируемость -> «Включить режим масштабируемости при ...»

Установите огромное число, например 500000, и нажмите «ОК».Проблема была решена!Для моего случая фактическое установленное значение было 5000, а исходный файл, который я видел, имел 16k+ строк.

...