New C++ language server config skill for Copilot CLI
The Microsoft C++ Language Server is now available as a plugin on the Copilot Plugins marketplace. It includes a new built-in setup skill that helps automate project setup, making it easier to generate and maintain the compile_commands.json file the language server needs to understand your code.
Why this matters
The C++ language server relies on a compile_commands.json file to provide precise semantic intelligence (i.e., symbol navigation, diagnostics, and code changes that reflect how your compiler actually sees the code). Previously, creating this file required manual steps that varied by build system. The new setup skills handle this automatically for CMake and MSBuild projects, and they provide a repeatable pattern for custom build systems.
What’s new
Available via the Copilot Plugins marketplace
The C++ language server can now be installed directly as a Copilot CLI plugin:
/plugin install cpp-language-server@copilot-plugins
This replaces the previous npm-based installation and simplifies getting started and staying updated with the latest releases on Windows, Linux, and macOS.
Generate compile commands skill
The new generate compile commands skill lets you generate or refresh your compile_commands.json directly from Copilot CLI. Simply say “regenerate compile commands” or “load project” and the skill will configure your compilation database based on your project type and platform.
The language server automatically watches for changes to compile_commands.json, so updates take effect without restarting.
Recommended configuration by project type
CMake projects
If you don’t already have a compile_commands.json generated from your CMake builds, the recommended path is to use the skill to generate one for you. Alternatively, you can pass -DCMAKE_EXPORT_COMPILE_COMMANDS=TRUE when configuring CMake to directly produce the file from your build.
CMake has native support for compile command generation, and the skill helps configure the project so the language server has the compilation database it needs.
MSBuild projects
For MSBuild-based projects, you have two options:
- Guided setup: Use the skill to onboard the project by saying “regenerate compile commands” or “load project.” The skill produces the configuration needed for the language server.
- Manual generation: Use the sample extractor application to generate
compile_commands.jsonfrom your MSBuild project. While it works out-of-the-box for many projects, it may require adaptation for complex configurations.
Custom build systems
Custom builds often use hermetic, vendored, or wrapper-based toolchains that standard discovery cannot always detect. For these projects:
- Create a project-specific skill that captures your build setup once and makes it repeatable.
- Teams can still manually provide their own
compile_commands.jsonfile. - The detailed guidance in the repository covers what settings to pin and how to structure a skill so Copilot can reliably regenerate compile commands.
Getting started
Install the plugin and follow the quick start guide to accept the EULA:
/plugin install cpp-language-server@copilot-plugins
Then say “regenerate compile commands” or “load project” to configure your project. Reinvoke the skill whenever your build configuration changes to keep the language server in sync.
An active GitHub Copilot subscription is required.
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 our GitHub repository.