GitHub Copilot 教程

文章来源:https://vscode.it-docs.cn/docs/copilot/overview.html

GitHub Copilot 为 Visual Studio Code 增加了多代理开发功能。规划好你的方法,然后让AI代理在项目中实现并验证代码变更。并行运行多个代理会话:本地、后台或云端。从一个中心视角管理所有角色。内联建议、内联聊天和智能行为会帮助你完成整个编码流程。

代理与代理会话

代理端到端地处理完整的编码任务。给代理一个高级任务,它会将工作拆分成步骤,编辑文件,运行终端命令,调用工具,并在遇到错误或测试失败时自我纠正。每个任务都运行在一个代理会话中,这是一个持续存在的对话,你可以跟踪、暂停、继续或交接给另一个代理。

重要

你们组织可能在VS Code中禁用了代理。请联系你的管理员以启用此功能。

从中央视图管理会话

并行运行多个代理会话,每个会话专注于不同的任务。聊天面板中的会话视图为你提供了一个统一的地方来监控所有活跃会话,无论是本地运行、后台还是云端运行。查看每次会话的状态,切换,查看文件变更,然后从中断处继续。

了解更多关于管理Agents课程的信息。

随时执行代理

代理可以在本地的VS Code中运行进行交互式工作,在机器后台运行以实现自主任务,或者在云端通过拉取请求实现团队协作。你也可以使用像Anthropic和OpenAI这样的第三方代理。任何时候,将任务从一个坐席类型交给另一个,完整的对话记录都会继续。

聊天视图中会话类型选择器的截图,包含本地、后台、云端和第三方代理选项。

了解更多关于代理类型和委托的信息,或遵循代理教程

构建前先做好规划

在编写任何代码之前,使用内置的Plan代理将任务拆分成结构化的实施计划。计划代理会分析你的代码库,提出澄清问题,并制定逐步计划。当计划看起来合适时,交给实现代理执行,无论是本地、后台还是云端。

了解更多关于与Agent一起规划的信息。

你能做什么

  • 端到端构建一个功能。用自然语言描述一个特征,代理搭建项目架构,跨多个文件实现逻辑,并运行测试以验证结果。
  • 调试并修复失败的测试。把一个失败的测试指向一个代理,它会读取错误,追踪代码库的根本原因,应用修复,然后重新运行测试以确认。了解更多关于用AI调试的信息。
  • 构或迁移代码库。比如让代理规划从一个框架迁移到另一个框架,它会在文件间协调地应用变更,同时验证构建。
  • 通过拉取请求进行协作。将任务委托给云代理,由其创建分支,实施变更,并向团队提交拉取请求。了解更多关于云代理的信息

入门

步骤1:设置Copilot

  1. 将鼠标悬停在状态栏中的Copilot图标上,选择“设置Copilot”。
  2. 选择一种登录方式并按照提示作。如果您还没有Copilot订阅,您已注册Copilot免费套餐

步骤2:开始你的第一次Agent会话

  1. 打开聊天视图(Ctrl+Alt+I)。
  2. 检查生成的代码。代理创建文件、安装依赖,并根据需要执行命令。
  3. 进来/init为你的项目配置 AI 配置。这会创建自定义指令,帮助代理理解你的代码库并生成更好的代码。

输入一个提示,描述你想构建的内容,例如:Prompt (Agent) Open in VS Code

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

关于涵盖内联建议、代理、内联聊天和自定义的完整实践教程,请参见“在VS Code中开始使用GitHub Copilot”。

更多用AI编程的方法

内联建议

Copilot 在你输入时提供代码建议,从单行补全到完整函数实现。下一步编辑建议可以根据你当前的编辑情况预测下一个逻辑上的更改。

了解更多关于VS Code中的内联建议

在线聊天

按Ctrl+I可直接在编辑器中打开聊天提示。描述一个变动,Copilot会建议原地编辑,这样你就能保持编码流程。用于针对性的重构、解释或快速修复,无需切换上下文。

了解更多关于VS Code中的内联聊天

智能行动

VS Code 包含预定义的 AI 驱动作,用于常见任务:生成提交信息、重命名符号、修复错误以及在项目中运行语义搜索。

VS Code 中智能行为菜单的截图,显示修复测试失败的选项。

了解更多关于VS Code中的智能动作

根据你的工作流程定制AI。

当代理了解你项目的惯例、拥有合适的工具并使用适合该任务的模型时,他们能发挥最佳作用。VS Code 提供了多种方法来定制 AI,使其从一开始就生成适合你代码库的代码,而不是事后手动修改。

  • 自定义说明:定义项目范围的编码规范,让AI生成符合你风格的代码。
  • 代理技能:教授跨 VS Code、GitHub Copilot CLI 和 GitHub Copilot 编码代理的专业能力。
  • 自定义代理:创建承担特定角色的代理,如代码审查员或文档编写者,配备自己的工具和指令。
  • MCP 服务器:通过 MCP 服务器或 Marketplace 扩展工具扩展代理。
  • 钩子:在特定事件执行自定义命令,实现自动化和策略执行。

支持

GitHub Copilot 聊天由 GitHub 提供支持,联系方式为 https://support.github.com

想了解更多关于Copilot的安全性、隐私、合规性和透明度的信息,请参阅GitHub Copilot信任中心常见问题解答。

定价

你可以免费开始使用 GitHub Copilot,但每月对内嵌建议和聊天互动有限制。如果需要更长时间的使用,可以选择多种付费套餐。

查看详细的GitHub Copilot定价

下一步

Read more

无需代码!用CAM++ WebUI完成声纹识别全流程操作

无需代码!用CAM++ WebUI完成声纹识别全流程操作 声纹识别,听起来很“黑科技”?其实它早已悄悄走进我们的生活:银行电话客服的身份核验、智能门锁的语音开门、会议录音中自动区分发言人……这些背后都离不开说话人识别技术。但过去,想体验这类能力,往往得装环境、写代码、调参数,对非技术人员来说门槛不低。 今天要介绍的这个工具,彻底改变了这一点——CAM++ WebUI,一个开箱即用、全程图形化操作、连鼠标点几下就能完成专业级声纹验证的系统。它不需要你写一行Python,不用配CUDA,甚至不用知道什么是Embedding,只要会上传音频、点击按钮、看结果,就能真正用起来。 本文将带你从零开始,完整走通一次声纹识别的全流程:如何判断两段语音是不是同一个人说的,如何提取语音背后的“声音指纹”,以及这些结果在实际工作中能怎么用。所有操作都在网页界面中完成,所见即所得,小白也能10分钟上手。 1. 什么是声纹识别?它和语音识别有什么不一样? 很多人容易把“声纹识别”和“语音识别”混为一谈,其实它们解决的是完全不同的问题。 * 语音识别(

Web 可访问性最佳实践:构建人人可用的前端界面

Web 可访问性最佳实践:构建人人可用的前端界面 代码如诗,包容如画。让我们用可访问性的理念,构建出人人都能使用的前端界面。 什么是 Web 可访问性? Web 可访问性(Web Accessibility)是指网站、工具和技术能够被所有人使用,包括那些有 disabilities 的人。这意味着无论用户的能力如何,他们都应该能够感知、理解、导航和与 Web 内容交互。 为什么 Web 可访问性很重要? 1. 法律要求:许多国家和地区都有法律法规要求网站必须具有可访问性。 2. 扩大用户群体:约 15% 的世界人口生活有某种形式的 disability,可访问性可以让更多人使用你的网站。 3. SEO 优化:搜索引擎爬虫依赖于可访问性良好的网站结构。 4. 更好的用户体验:可访问性改进通常会使所有用户受益,而不仅仅是那些有 disabilities 的用户。 5. 社会责任:

WebMCP 深度解析:开启 AI Agent 的“浏览器原生”交互时代

WebMCP 深度解析:开启 AI Agent 的“浏览器原生”交互时代

在 AI 智能体(Agent)高速发展的今天,让 Agent “理解并操作网页”一直是技术难点。过去,我们依赖于脆弱的 DOM 抓取(Scraping) 或昂贵的 视觉模型(Vision Models)。 现在,由 Google 和 Microsoft 联合推动的 WebMCP 协议正式浮出水面,它旨在彻底改变这一切,将每一个网页变成 Agent 可直接调用的“结构化工具箱”。 一、 什么是 WebMCP? WebMCP (Web Model Context Protocol) 是一项正在 W3C 孵化的浏览器 API 标准。 核心理念: 不要让 AI 像盲人摸象一样去解析复杂的 HTML,而是让网站主动通过浏览器

CSS 颜色函数和渐变:打造绚丽多彩的前端界面

CSS 颜色函数和渐变:打造绚丽多彩的前端界面 代码如诗,色彩如画。让我们用 CSS 颜色函数和渐变创建令人惊叹的视觉效果,为用户带来沉浸式的色彩体验。 什么是 CSS 颜色函数? CSS 颜色函数是一组用于生成和操作颜色的函数,它们允许我们以更加灵活和动态的方式定义颜色。这些函数包括 rgb()、rgba()、hsl()、hsla()、hwb()、lab()、lch() 以及最新的 color-mix() 等。 常用颜色函数 1. RGB 颜色函数 /* 传统 RGB 函数 */ color: rgb(255, 0, 0); /* 红色 */ /* RGB 函数的百分比形式 */ color: rgb(100% 0% 0%); /* 红色 */ /* RGBA 函数(带透明度)