惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

D
DataBreaches.Net
N
Netflix TechBlog - Medium
P
Proofpoint News Feed
D
Docker
J
Java Code Geeks
L
LangChain Blog
Microsoft Security Blog
Microsoft Security Blog
The GitHub Blog
The GitHub Blog
I
InfoQ
Stack Overflow Blog
Stack Overflow Blog
云风的 BLOG
云风的 BLOG
Engineering at Meta
Engineering at Meta
MongoDB | Blog
MongoDB | Blog
月光博客
月光博客
T
Tailwind CSS Blog
M
MIT News - Artificial intelligence
Blog — PlanetScale
Blog — PlanetScale
Google DeepMind News
Google DeepMind News
腾讯CDC
罗磊的独立博客
U
Unit 42
爱范儿
爱范儿
Vercel News
Vercel News
MyScale Blog
MyScale Blog

C++ Team Blog

C++ in the Age of AI: Visual Studio at CppCon 2026 - C++ Team Blog What’s New for C++ Developers in Visual Studio 2026 (18.7 – 18.10) - C++ Team Blog Microsoft at CppCon 2026 - C++ Team Blog MSVC C++23: constexpr cmath with LLVM Libc - C++ Team Blog MSVC Build Tools Preview updates – September 2026 - C++ Team Blog Clearer Build Optimization Results with GitHub Copilot - C++ Team Blog MSVC Build Tools Preview updates - August 2026 - C++ Team Blog What's New in vcpkg (Jul 2026) - C++ Team Blog Pure Virtual C++ 2026 Is a Wrap - C++ Team Blog Pure Virtual C++ 2026 Is Now Live! - C++ Team Blog C++ Dependencies Without the Headache: vcpkg + Copilot CLI - C++ Team Blog Pure Virtual C++ 2026 Is Tomorrow and On-Demand Sessions Are Now Available - C++ Team Blog Faster C++ iterative builds with GitHub Copilot - C++ Team Blog Pure Virtual C++ 2026 [Meet the Speakers, Part 3]: Modernizing C++ - C++ Team Blog MSVC Build Tools Preview updates - July 2026 - C++ Team Blog Rethinking C++ Performance: Faster Code Navigation and GitHub Copilot Tools with Whole Codebase Indexing - C++ Team Blog Pure Virtual C++ 2026 [Meet the Speakers, Part 2]: The AI-Native C++ Developer Workflow - C++ Team Blog Pure Virtual C++ 2026 [Meet the Speakers, Part 1]: Build Faster, Run Faster - C++ Team Blog What's New in vcpkg (June 2026) - C++ Team Blog Pure Virtual C++ 2026 Talks Announced - C++ Team Blog Save the Date: Pure Virtual C++ 2026 - C++ Team Blog Boosting Adobe Photoshop’s Performance with MSVC and SPGO - C++ Team Blog GitHub Copilot modernization for C++ is out of preview MSVC Build Tools Preview updates – June 2026 What’s New in vcpkg (May 2026) What’s New for C++ Developers in Visual Studio 2026 (18.1 – 18.6) Introducing Sample Profile Guided Optimization in MSVC NuGet PackageReference for C++ Projects in Visual Studio Segment Heap support for C++ projects in Visual Studio MSVC Build Tools Preview updates – May 2026
Streamline C++ Code Intelligence Setup in Copilot CLI - C...
Sinem Akinci · 2026-06-24 · via C++ Team Blog

C++ developers can now bring IDE-style semantic intelligence into Copilot CLI with less setup. The C++ language server plugin supports richer code navigation, diagnostics, symbol understanding, and code changes by using the same build context your compiler does.

That build context usually comes from a compile_commands.json file, which tells the language server how each source file is compiled. Instead of manually wiring that file together, the C++ language server plugin now provides a setup LSP skill that can help generate or refresh compile commands for common project types, including CMake and MSBuild. For custom build systems, teams can still provide their own compile_commands.json file or create a project-specific skill that captures their build setup once and makes it repeatable.

To get started with the C++ language server for Copilot CLI, please download via the Copilot Plugins marketplace and follow the Quick Start guide in the repo to accept EULA and configure compile_commands.json:

/plugin install cpp-language-server@copilot-plugins

Whether your project uses CMake, MSBuild, or a custom build pipeline, the goal is the same: make it easier for you to configure the C++ language server for Copilot CLI so Copilot can provide better navigation, diagnostics, explanations, and code changes, even when you’re outside the IDE.

As you try out the Microsoft C++ language server across different project types and build environments, we’d love to hear about your experiences. Let us know your thoughts through our survey: [Fill out form]

Configuring the language server

The language server needs a compile_commands.json file to understand your project. If you do not already have one generated via your build, you can utilize the skill to generate this for you.

To generate compile commands, type “regenerate compile commands” or “load project” in Copilot CLI, based on your desired configuration and platform (if necessary).

VideoProject37 ezgif com video to gif converter image

See “Recommended configuration path by project type” section below for suggestions based on your project build configuration.

Note: If your configuration changes, the skill should be re-invoked to regenerate your compile_commands.json to keep the LSP server in sync. The LSP server will automatically watch for changes to the compile_commands.json file.

Recommended configuration path by project type

CMake projects

For CMake-based projects, if you don’t have a compile_commands.json already generated from your CMake builds. the recommended path is to use the skill to onboard the project to generate compile_commands.json. You can also generate a compile_commands.json by passing -DCMAKE_EXPORT_COMPILE_COMMANDS set to “TRUE” when configuring CMake.

CMake has native support for compile command generation and the skill can help configure the project, so the language server has the compilation database it needs.

MSBuild projects

For MSBuild-based projects, users have two options.

For teams that want a guided setup, the skill can still help onboard the project by producing the configuration needed for the language server.

However, if you’d like to generate your own compile commands, you can refer to this sample application for an example of how to generate compile_commands.json from MSBuild projects. While the sample application is designed to work out-of-the-box for many projects, it may require adaptation for complex projects.

Custom build systems

Custom builds often use hermetic, vendored, or wrapper-based toolchains that standard discovery cannot always detect.

For teams with custom toolchains, a project-specific skill can capture the setup once and make it repeatable. The detailed guidance provided in the cpp-language-server repo covers when custom configuration is needed, what settings to pin, and how to structure a skill so Copilot can regenerate compile commands reliably. It is especially useful for repositories where the default extractor produces incomplete output, picks up the wrong toolchain, or needs to run through a repo-provided build environment.

Getting started with the Microsoft C++ language server

The Microsoft C++ language server is available as a Copilot CLI plugin and runs on Windows, Linux, and macOS. An active GitHub Copilot subscription is required.

To get started, install the C++ language server plugin from the Copilot Plugins marketplace and follow the Quick Start guide:

/plugin install cpp-language-server@copilot-plugins

The Microsoft C++ language server requires a small amount of setup so it can understand your project the same way your compiler does:

  1. Authenticate with GitHub Copilot CLI
  2. Provide or generate a compile_commands.json file for your project

Share your feedback

Let us know your feedback and if there’s anything else you’d like to see. Help us improve the Microsoft C++ server for Copilot CLI by filling out this short survey: [Fill out form].

To report a problem or suggest an improvement, open an issue in our GitHub repo.

Category

Author

Sinem Akinci

C++ Product Manager working on Copilot, CMake, and Linux experiences in Visual Studio and VS Code