Live Nov 18 · Cohort 3Nov 18, 19:00 MSK — free hands-on AI agents live workshop · Live Cohort 3 starts Nov 23Join Nov 18 Live →Cohort 3 (Nov 23)
ReleaseInsight · On RadarGitHub Changelog→ original

C++ Language Server removes one setup step for MSBuild projects in Copilot CLI

Copilot CLI now offers a simpler start for C++ projects using MSBuild: the language server automatically runs a built-in tool to extract compilation commands. Previously, the agent had to find and run a separate setup script or receive an existing compile_commands.json. That step is now automated, giving code navigation the build settings it needs when the project is opened.

AI-processed from GitHub Changelog; edited by Hamidun News
C++ Language Server removes one setup step for MSBuild projects in Copilot CLI
Source: GitHub Changelog. Collage: Hamidun News.
Listen to article
Article Fact Sheet & Key Figures
ParameterDetails
Primary sourceGitHub Changelog ↗
Editor-in-Chief
Key metric #1The update removes a separate preparation step for C++ projects using MSBuild.
Key metric #2CMake and custom build systems still use other setup methods.
Key metric #3Plugin installation, license acceptance, and an active Copilot subscription are required.

For C++, reading the source code alone is not enough for an agent: it also needs to understand the settings used to build it. Otherwise, even a question like “where is this function defined?” can prove harder than it looks. Microsoft C++ Language Server for GitHub Copilot CLI now automatically extracts compilation commands from MSBuild projects. For developers, that means one fewer preparation step before working with the code.

The change is small, but it addresses a familiar problem with agent tools: before fixing a program, the assistant spends time figuring out how the project works. Here, some of that work has been moved into a conventional tool that runs automatically.

What has been automated

A compilation command extraction tool is now built into the language server. Copilot calls it when the server starts after a project is opened. Previously, this required an existing compile_commands.json or a separate setup script that the agent had to find and execute. GitHub reports lower token usage during setup but provides no specific measurements of the savings. Plugin installation, license acceptance, and an active Copilot subscription are still required. Details are available in the GitHub Changelog.

Why does a file containing compilation commands matter in the first place? Imagine an image-processing library with several implementations of the same function. The choice depends on the platform and compiler settings. Simply finding a matching name in the repository is not enough: it helps to understand which implementation belongs to the current build.

In this hypothetical project, a task such as “change the error handling and find every call site” begins with reconstructing the context. Which directories contain headers? Which preprocessor definitions are enabled? Which source files are included in the build? The compilation database helps the language server parse the code with these conditions in mind. Automated setup makes that context more accessible to the agent.

Where teams may see a benefit

The practical value of the update is easier to assess through recurring tasks. Suppose a developer asks the assistant to investigate an unfamiliar module and then check the impact of an interface change. Whenever setup requires extra instructions, the human effectively acts as a dispatcher, telling the assistant which tool to call and where to obtain the input data.

Our assessment: automating this step is particularly relevant to teams that regularly run agents across different C++ repositories. Test its value with your own workflow: open a project, ask the agent to find a function definition, list its uses, and explain the relationships between several files. Then compare how many human interventions were needed before the first substantive answer.

For a product manager responsible for internal development tools, this is also a useful example of choosing the right metric. The number of available commands alone says little about usability. It is more useful to count how many preparatory actions are needed before solving a work task and how often users have to steer the assistant back to environment setup. This is a proposed evaluation method, not a published GitHub test result.

What to check before adoption

The update applies to MSBuild. For CMake, GitHub provides a separate script for generating commands; for custom build systems, it calls for an existing database or a custom extraction tool. These options and the requirements for getting started are listed in the update description.

Automatic setup should not be treated as proof that a future patch will be correct. In our example, the assistant might correctly locate the relevant implementation but get the error-handling logic wrong. Building, testing, and reviewing changes remain separate parts of the team's work.

If you use Copilot CLI with MSBuild, a sensible next step is to test the update on a familiar repository with clear relationships between functions. Look at whether the agent obtains the necessary context without prompting and whether that helps it make a specific change. That outcome will demonstrate the practical value of automation; it is too early to promise faster development overall on the strength of a single removed step.

Story

Key Questions Answered

What has been automated?

A compilation command extraction tool is now built into the language server. Copilot calls it when the server starts after a project is opened. Previously, this required an existing compile_commands.json or a separate setup script that the agent had to find and execute. GitHub reports lower token usage during setup but provides no specific measurements of the savings. Plugin installation, license acceptance, and an active Copilot subscription are still required. Details are available in the GitHub Changelog.

Where teams may see a benefit?

The practical value of the update is easier to assess through recurring tasks. Suppose a developer asks the assistant to investigate an unfamiliar module and then check the impact of an interface change. Whenever setup requires extra instructions, the human effectively acts as a dispatcher, telling the assistant which tool to call and where to obtain the input data. Our assessment: automating this step is particularly relevant to teams that regularly run agents across different C++ repositories.

What to check before adoption?

The update applies to MSBuild. For CMake, GitHub provides a separate script for generating commands; for custom build systems, it calls for an existing database or a custom extraction tool. These options and the requirements for getting started are listed in the update description. Automatic setup should not be treated as proof that a future patch will be correct. In our example, the assistant might correctly locate the relevant implementation but get the error-handling logic wrong.

ZK
Zhemal Khamidun — CPO at Alpina Digital, product manager of AlpinaGPT. Building AI products since 2019. Hamidun News is a pet project that grew into a production aggregator with 6,000+ readers.
✦ Hands-On AI Engineering · Hamidun Academy

Build & Ship Production AI Agents Without Boilerplate Code

Start your free 72-hour trial at Hamidun Academy (academy.hamidun.com) — interactive lessons on Claude Code & Cursor, live Tech Radar, and production agent templates.

Start 72h Free Trial →Vibe-Coding Intensive
What do you think?
Loading comments…