使用 C++ 开发工具与 GitHub Copilot Chat
对C++代码进行重构和更新通常需要在多个文件中查找编辑内容,并且需要了解你的构建配置。
GitHub Copilot Chat 可以使用 VS Code 内置的 C++ 工具为您的 C++ 项目提供上下文相关的帮助。通过使用代码理解和 CMake 工具,Copilot 可以理解您的代码库结构、依赖关系和构建配置,从而为您提供更准确、更有帮助和更快速的响应。
本指南涵盖了可用的工具以及如何与AI代理有效结合以完成诸如:
- 导航和理解复杂的 C++ 代码库
- 使用全面的上下文意识重构代码
- 高效配置和构建项目
先决条件
这些扩展是 C/C++ 扩展包的一部分。
您可以随时通过导航到 来启用/禁用这些工具。工具在聊天中选择相应的选项并启用/禁用所需的工具。

仅启用与您的开发工作流程相关的工具,以避免上下文膨胀。您可以通过相同的对话框禁用其他工具,例如通过MCP安装的工具。
C++ 代码理解工具
C++ 扩展提供了使用语言服务的工具,使 Copilot Chat 能够深入理解您的代码结构、符号和关系。确保您已配置了 IntelliSense以利用这些工具。
要启用这些工具,请在 VS Code 用户设置中选择 启用 Cpp 代码编辑工具 设置。

获取符号信息 (获取符号信息_Cpp工具)
它的功能:获取代码库中符号(函数、类、变量等)的详细信息,包括它们的定义、类型和文档。
示例使用案例: 优化内存性能并确保无破坏性更改

获取符号引用 (获取符号引用_CppTools)
它的作用: 在你的代码库中找到所有特定符号的引用,显示函数、类或变量的使用位置。
示例用例: 为现有函数添加额外功能

您可以通过在 VS Code 中调整符号引用限制设置来控制工具返回的最大符号引用数量。

获取符号调用层次结构获取符号调用层次结构_CppTools)
功能: 显示函数的调用层次结构,揭示入站调用(谁调用此函数)和出站调用(此函数调用了什么)。
示例使用案例: 模块迁移的依赖性分析

CMake 工具集成
CMake 工具使 Copilot Chat 能够理解你的构建配置、目标和依赖项,从而实现构建感知辅助。
CMake 构建 (构建_CMake工具)
功能: 使用当前配置和选定的目标构建你的 CMake 项目。
示例使用案例: 解决构建错误

运行CTest (运行测试_CMake工具)
它的作用: 运行在你的项目中定义的CTest测试套件
示例使用案例: 根据单元测试修复代码

有效提示的技巧
- 具体说明: 明确指出您所询问的符号、文件或组件(例如,“重构
getConfig()函数” 一个好的方法是 “使它更快” - 参考上下文: 请 Copilot Chat 在分析更改时考虑特定文件、函数或模块
- 直接引用工具:在聊天中使用#直接引用相关工具,以确保调用。
- 使用自定义指令: 设置 自定义指令 来指导 Copilot Chat。输入
/初始化生成项目说明。 - 利用最新模型: 使用最新的AI模型,支持工具调用,以实现最准确的代码理解和工具使用
- 优化工具性能: 仅启用与您的开发工作流程相关的工具,以避免上下文膨胀
何时使用每种工具
符号信息: 当你需要理解现有代码的结构或在进行更改之前验证属性时使用。
符号引用: 在重构时使用,以识别所有引用并确保更改不会破坏现有代码。
调用层次: 在分析依赖关系、理解调用链或规划模块迁移时使用。
CMake 构建:在排除构建问题或验证更改是否能成功编译时使用。
CTest: 在验证测试套件中的更改或调试测试失败时使用。