Я использую Neovim через дистрибутив NVChad с языковым сервером clangd
. Когда я пытаюсь использовать функцию rename symbol
, она не переименовывает этот символ во всем моем проекте, а только в любых открытых файлах (а если открытых файлов слишком много, то даже не во всех открытых файлах).
Как я могу обойти это, чтобы переименование происходило по всему проекту? Это сделало бы рефакторинг намного удобнее. Если вам нужна моя конкретная конфигурация Neovim, вы можете увидеть ее в моем репозитории конфигураций здесь
Использование bear
для создания этого файла помогло мне. Спасибо!
Как предложил @HighCommander4 в комментариях, установка compile_commands.json
исправила эту проблему.
Добавляем также, почему это решает проблему: наличие файла compile_commands.json
дает clangd список исходных файлов в проекте, позволяя clangd создать индекс для проекта, который дает перекрестные ссылки на информацию во всех индексированных файлах. Такие функции, как переименование, используют индекс для поиска всех вхождений символа в проекте.
Есть ли в вашем проекте файл
compile_commands.json
, настроенный, как описано на странице clangd.llvm.org/installation#project-setup?