Faster C++ code intelligence with whole codebase indexing
C++ code intelligence in GitHub Copilot CLI is now faster with support for whole codebase indexing.
C++ repositories can contain millions of lines of code across deeply connected source files and headers. Without a reusable index, code-intelligence requests may need to rediscover project information as you navigate, making it slower to find a definition, locate references, or understand unfamiliar code.
Whole codebase indexing (WCI) creates a persistent index of symbols across your C++ project, including files that aren’t currently open. The Microsoft C++ Language Server uses your project’s compilation information to resolve types, symbols, includes, and relationships between files. WCI makes that symbol information available for reuse instead of rediscovering it for each request.
You spend less time waiting for definitions, references, implementations, and symbol search results, and more time reviewing, understanding, and changing code.
Configure indexing
Whole codebase indexing is enabled by default because its persistent symbol index helps the Microsoft C++ Language Server efficiently understand relationships across your entire project. The language server loads the index when you first open a C++ project. You can check indexing progress at any time with /lsp logs.
Building the index for the first time can take additional time and temporarily increase memory usage, particularly for large or complex repositories. After the initial index is complete, it is reused and dynamically updated, so this overhead is primarily associated with initial setup.
To disable whole codebase indexing, you can temporarily disable WCI using the indexing documentation.
Restart your Copilot session after changing the setting.
Feedback
Help us improve the Microsoft C++ language server for Copilot CLI by filling out our short survey. To report a problem or suggest an improvement, open an issue in the GitHub repository.