Файлы исходного кода: < /p>
- (объявляет get_bananas () )
Код: Выделить всё
/my_repo/base/src/a.hh - (определяет get_bananas () )
Код: Выделить всё
/my_repo/base/src/a.cpp
- (вызовы get_bananas () )
Код: Выделить всё
/my_repo/base/build/generated/gen_a_usage.cpp
Как я могу понять, почему? В действительности проект намного больше, чем просто эти три файла. Оба a.cpp имеют записи и gen_a_usage.cpp есть записи в compile_commands.json файл.
clangd docs
У Clangd есть эта информация (см. >
Одной из потенциальных причин является то, что Clangd не проиндексировал все файлы в вашем проекте. Пожалуйста, убедитесь, что все файлы видны для Clangd через настройку проекта и Compile_commands.json. Просто то, что путь файла CPP указан явно где -то в файле JSON? Сделано с Cmake + Ninja < /li>
После сборки я запускаю мой редактор (neovim) < /li>
lsp (clangd) запускается с этой конфигурацией:
lsp.clangd.setup { cmd = {"clangd", "--clang-tidy", "--background-index", "--limit-references=0", "--cross-file-rename"}}
< /code>
< /li>
< /ul>
Я видел это поведение в Clangd версии 16, 19 и 20. и у моего коллега есть аналогичные проблемы в Vscode .
Подробнее здесь: https://stackoverflow.com/questions/794 ... references
Мобильная версия