现已发布!阅读关于 11 月新增功能和修复的内容。

GitHub Copilot in VS Code

GitHub Copilot 是一款集成到 Visual Studio Code 中的 AI 驱动的编码助手。它基于自然语言提示和现有代码上下文提供代码建议、解释和自动化实现。Copilot 已在公共代码存储库上进行了训练,可协助处理大多数编程语言和框架。

核心功能

行内建议

Copilot 在您键入时提供内联代码建议,范围从单行补全到整个函数实现。通过“下一个编辑建议”,它可以根据您当前的环境预测下一个逻辑代码更改。

示例

  • 键入 function calculateTax( 以获取完整的税务计算实现
  • 键入 // Create a REST API endpoint for user authentication 以生成 Express.js 路由代码
  • 使用 const UserProfile = ({ 开始一个 React 组件,以接收带有 TypeScript 类型的完整函数组件

详细了解 VS Code 中的内联建议

自主编码

代理可以自主规划和执行复杂的开发任务,协调涉及运行终端命令或调用专用工具的多步骤工作流。它可以将高级要求转化为可运行的代码。

从 Marketplace 扩展中安装模型上下文协议 (MCP) 服务器或工具,以进一步增强自主编码体验的功能。例如,从数据库中提取信息或连接到外部 API。

示例任务

  • 使用 OAuth 实现身份验证
  • 将代码库迁移到新框架或新语言
  • 调试失败的测试并应用修复
  • 优化整个应用程序的性能

详细了解 使用代理进行自主编码在 VS Code 中配置 MCP 服务器

自然语言聊天

通过聊天界面使用自然语言与您的代码库进行交互。使用对话式提示提问、请求解释或指定代码更改。

使用单个提示在项目中的多个文件中应用更改。Copilot 分析您的项目结构并进行协调修改。

常见查询

  • “此项目中的身份验证是如何工作的?”
  • “数据处理函数中的内存泄漏是由什么原因引起的?”
  • “为支付处理服务添加错误处理”
  • “添加登录表单和后端 API”

Screenshot of the Chat view, showing the response to asking how to add a login page to a web app.

详细了解 在 VS Code 中使用聊天

智能操作

VS Code 提供了许多用于常见开发任务的预定义操作,这些操作通过 AI 功能得到增强并集成到编辑器中。

从帮助您编写提交消息或拉取请求描述、重命名代码符号、修复编辑器中的错误,到帮助您查找相关文件的语义搜索。

Screenshot of the Smart Actions menu in VS Code

详细了解 VS Code 中的智能操作

入门

步骤 1:设置 Copilot

  1. 将鼠标悬停在状态栏中的 Copilot 图标上,然后选择设置 Copilot (Set up Copilot)

    Hover over the Copilot icon in the Status Bar and select Set up Copilot.

  2. 选择一种登录方式并按照提示操作。如果您还没有 Copilot 订阅,您将注册 Copilot 免费计划

步骤 2:基本内联建议

  1. 创建一个新文件并开始键入。VS Code 会在编辑器中以灰色文本显示内联建议。

    例如,创建一个新的 JavaScript 文件并开始键入一个函数定义

    // Try typing this in a new .js file:
    function factorial(
    
  2. 使用 Tab 键接受内联建议。

步骤 3:自主编码

要以自主方式执行更复杂的任务,请在聊天界面中使用代理。AI 将迭代代码,直到任务完成。

  1. 打开聊天视图 (⌃⌘I (Windows, Linux Ctrl+Alt+I))

  2. 从代理选择器中选择 Agent

  3. 要求生成一个基本的 Web 应用,例如

    Create a basic node.js web app for sharing recipes. Make it look modern and responsive.
    

注意代理如何独立地在多个文件中生成代码,并在需要时为任务安装依赖项。

步骤 4:内联聊天

要直接在编辑器中获取生成、重构或解释代码的帮助,您可以使用编辑器内联聊天。输入提示,AI 将在当前文件中建议代码更改,让您保持编码流程。

  1. 选择编辑器中的一些代码
  2. ⌘I (Windows、Linux Ctrl+I) 打开编辑器内联聊天
  3. 要求解释或进行修改,例如:“重构此代码以...”
  4. 查看并接受建议的更改

使用场景

代码分析和审查

理解现有代码库并识别问题

  • “解释此应用程序中的身份验证流程”
  • “此支付处理程序可能存在哪些安全问题?”
  • “使用适当的 JSDoc 注释记录此 API 端点”

调试和故障排除

识别和解决代码问题

  • “为什么此组件不必要地重新渲染?”
  • “查找并修复此数据处理管道中的内存泄漏”
  • “优化此数据库查询以提高性能”

详细了解如何使用 AI 进行调试

功能实现

构建新功能

  • “创建带有电子邮件验证的用户注册系统”
  • “使用 WebSockets 添加实时通知”
  • “使用本地存储持久化实现购物车”

测试和质量保证

生成测试并确保代码质量

  • “为该服务类生成全面的单元测试”
  • “为 API 端点创建集成测试”
  • “为该数据验证函数添加基于属性的测试”

详细了解如何使用 AI 进行测试

学习和文档

理解新技术和模式

  • “给我看看 async/await 和 Promise 之间的区别”
  • “如何在 Go 中实现此模式而不是 Python?”
  • “React 中错误处理的最佳实践是什么?”

自定义 AI 以适应您的工作流程

自定义指令

使用自定义指令定义项目特定的编码约定和模式,AI 将生成匹配您风格的代码。自动将这些指令应用于所有聊天请求或仅应用于特定文件类型。

---
applyTo: "**"
---
# My Coding Style
- Use arrow functions for components
- Prefer const over let
- Always include TypeScript types
- Use descriptive variable names
- Follow the Repository pattern for data access

详细了解 使用自定义指令 将 AI 定制到您的编码风格。

语言模型

在不同的 AI 模型之间快速切换,以优化速度、推理能力或专用任务。从各种内置模型中选择,或连接到外部提供商并使用您自己的 API 密钥。

Screenshot that shows the model picker in the Chat view.

详细了解 在 VS Code 中使用语言模型

自定义代理

VS Code 中的聊天体验可以使用不同的代理来切换提问、进行编辑或运行自主编码会话。您还可以创建适合您工作流程的自定义代理。例如,创建一个专注于规划和架构讨论的自定义代理。指定代理允许使用的工具,并提供自定义指令,以便在它应该运行的正确上下文中进行操作。

Screenshot showing the Chat view, highlighting the agent picker.

详细了解 创建您自己的自定义代理

使用工具扩展聊天

通过 MCP 服务器或 Marketplace 扩展中的专用工具来扩展聊天体验的功能。例如,添加用于查询数据库、连接到外部 API 或执行专用任务的工具。

MCP tools list

详细了解 使用 MCP 服务器和工具

最佳实践

  • 为任务选择合适的工具。在编码时获取内联建议,使用聊天进行自然语言查询,并选择适合您工作流程的代理。

  • 编写有效的提示以获得最佳结果。要具体,提供正确的上下文,并经常进行迭代。

  • 通过使用自定义指令、提示文件或自定义代理,将 AI 定制到您的编码风格和项目约定。

  • 使用 MCP 服务器或 Marketplace 扩展中的工具扩展 AI 的功能。

  • 选择针对您的任务进行了优化的语言模型。使用快速模型进行代码建议,使用推理模型处理更复杂的请求。

获取更多 在 VS Code 中使用 AI 的技巧和窍门

支持

GitHub Copilot Chat 的支持由 GitHub 提供,可以通过 https://support.github.com 联系。

要了解更多关于 Copilot 的安全、隐私、合规性和透明度,请参阅 GitHub Copilot Trust Center FAQ

定价

您可以开始免费使用 GitHub Copilot,每月有内联建议和聊天交互的限制。对于更广泛的使用,您可以选择各种付费计划。

查看详细的 GitHub Copilot 定价

后续步骤

© . This site is unofficial and not affiliated with Microsoft.