AI 编程开发

微软 C++ 语言服务器为 Copilot CLI 自动配置 MSBuild 构建

微软为 GitHub Copilot CLI 使用的 C++ 语言服务器发布更新,将 MSBuild 编译命令提取器直接打包进语言服务器,并在打开项目时自动调用。此前,基于 MSBuild 的 C++ 项目需要用户自行提供 compile_commands.json,或由 Copilot 先查找并运行配置技能生成编译数据库,才能获得跳转定义、查找引用等代码智能能力。

此前需要额外配置步骤

在更新之前,若想为基于 MSBuild 的 C++ 项目启用跳转定义、查找引用等语言服务器功能,用户需要自己提供 compile_commands.json 文件,或者让 Copilot 先定位并运行一个配置技能,由该技能生成编译数据库。原文指出,这一额外的发现步骤会增加准备时间,并在 Copilot 真正开始处理代码前消耗 token。

提取器内置并自动触发

更新后,编译命令提取器直接与 C++ 语言服务器打包在一起,因此始终可用。Copilot 在打开项目、启动语言服务器时会调用该提取器,不再需要手动配置,也不需要由智能体驱动运行配置技能。原文还说明,MSBuild 项目的编译数据库生成过程是确定性的,这有助于降低准备阶段的 token 使用量。

其他构建系统仍需自行处理

自动配置目前针对 MSBuild 项目。对于其他构建系统,用户仍可自行提供 compile_commands.json,或借助技能生成。原文给出的做法是:CMake 项目可使用早前 C++ 语言服务器版本引入的 generate compile commands 技能,通过让 Copilot CLI“load project”来触发;自定义构建系统则需参照指南创建自定义构建提取器技能。

安装与使用条件

要使用该能力,需按照微软 C++ 语言服务器快速开始指南安装插件并接受最终用户许可协议。若仓库中包含基于 MSBuild 的 C++ 项目,Copilot 会自动生成准确代码智能所需的编译数据库。原文明确,使用需要有效的 GitHub Copilot 订阅。此外,用户可通过填写 C++ 语言服务器调查问卷帮助改进产品,也可在微软 C++ 语言服务器仓库中提交问题或改进建议。

知序观察

观察:这次更新把 C++ 项目代码智能的前置配置从“用户或智能体主动准备”改为“打开项目即自动完成”,直接减少了 MSBuild 场景下的准备步骤和 token 开销。其影响主要集中在使用 Copilot CLI 的 C++ 开发者,CMake 和自定义构建系统仍需沿用原有技能或自建提取器路径,因此短期内不会统一所有构建系统的接入体验。

留下你的想法

欢迎交流。你的邮箱地址不会公开。