在 VS Code 中使用 GitHub Copilot
GitHub Copilot 是一款集成在 Visual Studio Code 中的 AI 编程助手。它能根据自然语言提示和现有代码上下文,提供代码建议、解释和自动化实现。Copilot 基于公共代码仓库进行训练,可以协助处理大多数编程语言和框架。
核心功能
代码补全
当您输入时,Copilot 会提供行内代码建议,范围从单行补全到整个函数实现。通过“下一处编辑建议”功能,它能根据您当前的上下文预测下一个合乎逻辑的代码更改。
示例
- 输入
function calculateTax(
即可获得一个完整的税收计算实现 - 编写
// Create a REST API endpoint for user authentication
(// 为用户认证创建一个 REST API 端点)即可生成 Express.js 路由代码 - 以
const UserProfile = ({
开始编写一个 React 组件,即可获得一个带有 TypeScript 类型的完整函数式组件
了解更多关于 VS Code 中的代码补全。
自主编程
VS Code 和代理模式(agent mode)可以自主规划和执行复杂的开发任务,协调涉及运行终端命令或调用专门工具的多步骤工作流。它能将高层次的需求转化为可运行的代码。
从 Marketplace 扩展中安装模型上下文协议(MCP)服务器或工具,可以进一步增强自主编程体验的能力。例如,从数据库中拉取信息或连接到外部 API。
任务示例
- 使用 OAuth 实现身份验证
- 将代码库迁移到新的框架或语言
- 调试失败的测试并应用修复
- 优化整个应用程序的性能
了解更多关于使用代理模式进行自主编程和在 VS Code 中配置 MCP 服务器。
自然语言聊天
通过聊天界面,使用自然语言与您的代码库进行交互。您可以使用对话式提示来提问、请求解释或指定代码更改。
使用单个提示,即可在项目中的多个文件之间应用更改。Copilot 会分析您的项目结构并进行协调修改。
常见查询
- “这个项目中的身份验证是如何工作的?”
- “数据处理函数中的内存泄漏是什么原因造成的?”
- “为支付处理服务添加错误处理”
- “添加一个登录表单和后端 API”
了解更多关于在 VS Code 中使用聊天。
智能操作
VS Code 预定义了许多针对常见开发任务的操作,这些操作通过 AI 功能得到增强并集成到编辑器中。
从帮助您编写提交信息或拉取请求描述,到重命名代码符号、修复编辑器中的错误,再到帮助您查找相关文件的语义搜索。
了解更多关于 VS Code 中的智能操作。
入门
第 1 步:设置 Copilot
-
将鼠标悬停在状态栏中的 Copilot 图标上,然后选择设置 Copilot (Set up Copilot)。
-
选择一种登录方式并按照提示操作。如果您还没有 Copilot 订阅,您将被注册到 Copilot 免费计划。
第 2 步:基本代码补全
-
创建一个新文件并开始输入。VS Code 会在编辑器中以灰色文本的形式显示行内建议。
例如,创建一个新的 JavaScript 文件并开始输入一个函数定义
// Try typing this in a new .js file: function factorial(
-
使用 Tab 键接受行内建议。
第 3 步:自主编程
要以自主方式执行更复杂的任务,请在聊天界面中使用代理模式。AI 将会迭代处理代码,直到任务完成。
- 打开聊天视图 (⌃⌘I (Windows、Linux 为 Ctrl+Alt+I))
- 从聊天模式下拉列表中选择代理 (Agent)
- 要求生成一个基础 Web 应用,例如:“创建一个用于分享食谱的基础 node.js web 应用。让它看起来现代且响应式。”
注意代理是如何独立地在多个文件中生成代码,并根据任务需要安装依赖项的。
第 4 步:行内聊天
要直接在编辑器中获得生成、重构或解释代码的帮助,您可以使用编辑器行内聊天。输入一个提示,AI 将在当前文件中建议代码更改,让您保持在编程流程中。
- 在编辑器中选择一些代码
- 按 ⌘I (Windows、Linux 为 Ctrl+I) 打开编辑器行内聊天
- 要求解释或进行修改,例如:“将这段代码重构为...”
- 审查并接受建议的更改
使用场景
代码分析和审查
理解现有代码库并识别问题
- “解释一下这个应用程序中的身份验证流程”
- “这个支付处理程序中存在哪些潜在的安全问题?”
- “用标准的 JSDoc 注释为这个 API 端点编写文档”
调试和故障排除
识别并解决代码问题
- “为什么这个组件会不必要地重新渲染?”
- “找出并修复这个数据处理管道中的内存泄漏”
- “优化这条数据库查询以获得更好的性能”
了解更多关于使用 AI 进行调试。
功能实现
构建新功能
- “创建一个带电子邮件验证的用户注册系统”
- “使用 WebSockets 添加实时通知功能”
- “实现一个使用本地存储持久化的购物车”
测试和质量保证
生成测试并确保代码质量
- “为这个服务类生成全面的单元测试”
- “为这些 API 端点创建集成测试”
- “为这个数据验证函数添加基于属性的测试”
了解更多关于使用 AI 进行测试。
学习和文档
理解新技术和模式
- “给我展示一下 async/await 和 Promises 之间的区别”
- “如果用 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 密钥。
了解更多关于在 VS Code 中使用语言模型。
自定义聊天模式
VS Code 中的聊天体验可以在不同模式下运行,以便在提问、进行编辑或运行自主编程会话之间切换。您还可以创建适合您工作流的自定义聊天模式。例如,创建一个专注于规划和架构讨论的聊天模式。指定聊天允许使用的工具,并提供自定义指令,为其操作提供正确的上下文。
了解更多关于创建您自己的聊天模式。
使用工具扩展聊天功能
通过来自 MCP 服务器或 Marketplace 扩展的专门工具来扩展聊天体验的功能。例如,添加用于查询数据库、连接外部 API 或执行专门任务的工具。
了解更多关于使用 MCP 服务器和工具。
最佳实践
-
为任务选择合适的工具。在编码时获取代码补全,使用聊天进行自然语言查询,并选择适合您工作流的聊天模式。
-
编写有效的提示以获得最佳结果。要具体,提供正确的上下文,并经常迭代。
-
通过使用自定义指令、提示文件或聊天模式,根据您的编码风格和项目约定来定制 AI。
-
使用来自 MCP 服务器或 Marketplace 扩展的工具来扩展 AI 的能力。
-
选择一个为您的任务优化的语言模型。使用快速模型获取快速代码建议,使用推理模型处理更复杂的请求。
定价
您可以免费开始使用 GitHub Copilot,但代码补全和聊天交互有月度限制。对于更广泛的使用,您可以选择各种付费计划。