使用 GitHub Copilot Visual Studio – AI 结对编程2024-08-05T13:54:35-07:00

内置 GitHub Copilot 的最新 Visual Studio 2022

现在,通过无缝集成的 AI 程序员搭档,可在重要代码上投入更多时间。

只需 3 步即可开始使用

GitHub Copilot installation screenshot

安装最新版本的 Visual Studio 2022

GitHub Copilot 的最新体验已集成到 Visual Studio 中,并将 GitHub Copilot 的代码补全和 GitHub Copilot 聊天功能合并到一个方便的包中。 下载最新的 Visual Studio 2022,以发现新增功能和改进项。

GitHub Copilot installation screenshot

注册免费试用版

GitHub Copilot 对通过验证的学生和 GitHub 上热门开放源代码项目的维护者是免费的。 如果不是学生或热门开放源代码项目维护者,可以一次性免费试用 GitHub Copilot 30 天。

Github Copilot sign in screenshot

使用 GitHub 帐户登录

要启用 GitHub Copilot,请确保已将 GitHub 帐户添加到 Visual Studio。 有关详细信息,请参阅 Microsoft 文档中的在 Visual Studio 使用 GitHub 帐户。

5 个提示和技巧

01
最佳做法

GitHub Copilot 是由人工智能 (AI) 提供支持的编码助手,可在各种环境中运行,帮助你更高效地完成日常编码任务。 在此新系列内容中,我们将专门介绍 GitHub Copilot 在 Visual Studio 中的工作原理,以及它如何帮助你提高工作效率。

02
像专业人士一样提示

任何大语言模型的输出质量在很大程度上都取决于提示的质量,GitHub Copilot 也不例外。 在此新视频中,Gwyn 介绍了 Visual Studio 2022 中 GitHub Copilot 的“提示工程”,以及如何通过更好的提示生成更好的结果。

03
代码补全

开始在编辑器中撰写,Copilot 将在键入时提出代码建议。
提示: 按 “tab” 接受建议。

04
内联聊天

通过将提示转换为代码,使用内联聊天可帮助你编写方法、类和单元测试。 通过在文本文件中右键单击并选择“询问 Copilot”或按 Alt + /` 来打开内联
提示: 使用 “/” 声明你的意图或使用 “#” 引用你的文件。 类似于 “/test for #filename”

05
聊天窗口

询问有关解决方案或文件的问题。  通过 Copilot 徽章或按 CTRL + /,C 打开。
提示: 使用 #solution 在 Visual Studio 中引用活动解决方案(仅适用于 C#)

不要单打独斗

世界各地的开发人员都在使用 GitHub Copilot 以更快地编写代码,专注于业务逻辑而不是模版,并专注于最重要的工作: 构建出色的软件。

Copilot 个人版

适用于想要更快速和更快乐地编写代码的个人开发人员、自由职业者、学生和教师。

$10美元每月/每年 100 美元

开始使用免费试用版
免费用于热门开放源代码项目的已验证学生、教师和维护人员。
包含的内容

聊天

  • 无限制的消息、交互和历史记录
  • 上下文感知编码支持和说明
  • 调试和安全修正帮助
  • 针对组织存储库定制的对话
  • 基于组织知识库的答案
  • 从顶级开放源代码存储库访问知识
  • 拉取请求差异分析
  • 由必应(beta 版)提供支持的 Web 搜索

代码补全

  • 实时代码建议
  • 对代码的注释
  • 微调模型(即将作为加载项推出)

智能操作

  • 内联聊天和提示建议
  • 斜杠命令和上下文变量
  • 提交消息生成
  • 拉取请求说明和摘要

支持的环境

  • IDE、CLI 和 GitHub Mobile
  • GitHub.com

管理和策略

  • 公开代码筛选器
  • 用户管理和 SSO
  • 默认情况下从训练中排除的数据
  • 知识产权赔偿
  • 内容排除
  • SAML SSO 身份验证1
  • 需要 GitHub Enterprise 云

最热门

Copilot 商业版

适用于准备好改善工程速度、代码质量和开发人员体验的组织。

$19美元每用户/月

包含的内容

聊天

  • 无限制的消息、交互和历史记录
  • 上下文感知编码支持和说明
  • 调试和安全修正帮助
  • 针对组织存储库定制的对话
  • 基于组织知识库的答案
  • 从顶级开放源代码存储库访问知识
  • 拉取请求差异分析
  • 由必应(beta 版)提供支持的 Web 搜索

代码补全

  • 实时代码建议
  • 对代码的注释
  • 微调模型(即将以加载项形式推出)

智能操作

  • 内联聊天和提示建议
  • 斜杠命令和上下文变量
  • 提交消息生成
  • 拉取请求说明和摘要

支持的环境

  • IDE、CLI 和 GitHub Mobile
  • GitHub.com

管理和策略

  • 公开代码筛选器
  • 用户管理和 SSO
  • 默认情况下从训练中排除的数据
  • 知识产权赔偿
  • 内容排除
  • SAML SSO 身份验证1
  • 需要 GitHub Enterprise 云

全新

Copilot 企业版

适用于希望为其组织自定义 GitHub Copilot 并在开发人员工作流中注入 AI 的公司。

$39美元每用户/月

包含的内容

聊天

  • 无限制的消息、交互和历史记录
  • 上下文感知编码支持和说明
  • 调试和安全修正帮助
  • 针对组织存储库定制的对话
  • 基于组织知识库的答案
  • 从顶级开放源代码存储库访问知识
  • 拉取请求差异分析
  • 由必应(beta 版)提供支持的 Web 搜索

代码补全

  • 实时代码建议
  • 对代码的注释
  • 微调模型(即将以加载项形式推出)

智能操作

  • 内联聊天和提示建议
  • 斜杠命令和上下文变量
  • 提交消息生成
  • 拉取请求说明和摘要

支持的环境

  • IDE、CLI 和 GitHub Mobile
  • GitHub.com

管理和策略

  • 公开代码筛选器
  • 用户管理和 SSO
  • 默认情况下从训练中排除的数据
  • 知识产权赔偿
  • 内容排除
  • SAML SSO 身份验证1
  • 需要 GitHub Enterprise 云

1: 使用 SAML 单一登录(SSO)进行身份验证,适用于使用 GitHub Enterprise Cloud 的组织。

了解 GitHub Copilot 条款和条件。

常见问题解答

Visual Studio 2022 版本 17.10 或更高版本

  1. 下载最新版本的 Visual Studio 2022。 请在安装程序中至少选择一个工作负载。 请确保 GitHub Copilot 预选组件保持选中状态。 或者,如果未选择任何工作负载,请从安装程序内的单个组件中选择 GitHub Copilot 来安装它。
  2. 为个人帐户设置 GitHub Copilot 订阅,如果你是具有 GitHub Copilot 订阅的组织或企业的成员,则需要由组织所有者分配一个席位。 在为个人帐户启动付费订阅之前,可以设置一次性的 30 天试用来评估 GitHub Copilot。 若要开始试用,需要选择月度或年度计费周期,并提供付款方式。 如果在 30 天结束前未取消试用,它将自动转换为付费订阅。可在 30 天内随时取消 GitHub Copilot 试用,系统不会向你收费。 如果在试用期结束前取消,则在 30 天的试用期结束之前,你仍有权访问 GitHub Copilot。 有关详细信息,请参阅管理 GitHub Copilot 个人订阅。
  3. 使用具有 GitHub Copilot 订阅的 GitHub 帐户登录到 Visual Studio。 按照将 GitHub 帐户添加到 Visual Studio 密钥链中的步骤操作。

有关更多详细信息,请访问 learn.microsoft.com 上的在 Visual Studio 文档页面安装和管理 GitHub Copilot

在 Visual Studio 2022 版本 17.10 或更高版本中,GitHub Copilot 和 GitHub Copilot 聊天可作为单个扩展(即 Copilot 和 Copilot 聊天合并到一个包中)进行安装。 默认情况下,统一的 GitHub Copilot 扩展作为内置的推荐组件包含在所有工作负载中,并通过 Visual Studio 安装程序提供。

若要获取新的统一 GitHub Copilot 扩展,请执行以下操作:

  • 安装 Visual Studio 2022 版本 17.10 或更高版本。
  • 请在安装程序中至少选择一个工作负载。 请确保 GitHub Copilot 预选组件保持选中状态。 或者,如果未选择任何工作负载,请从安装程序内的单个组件中选择 GitHub Copilot 来安装它。

GitHub Copilot 默认随所有工作负载一起安装。 如果选择将其排除,可以稍后使用 Visual Studio 安装程序修改安装,然后选择 GitHub Copilot 组件来安装它。

有关更多详细信息,请访问 learn.microsoft.com 上的在 Visual Studio 中安装 GitHub Copilot 文档页面

使用 Visual Studio 2022 版本 17.10 及更高版本时,Visual Studio 环境右上角会显示一个 Copilot 状态图标,该图标指示 Copilot 是处于活动状态、不活动状态、不可用状态还是未安装状态。 使用状态图标中的下拉菜单,可以轻松访问有助于管理 Copilot 状态或排查 Copilot 状态问题的选项。 某些选项可用或灰显,具体取决于 Copilot 状态。

有关详细信息,请参阅管理 Copilot 状态

Visual Studio 2022 版本 17.9 或更早版本

在 Visual Studio 2022 版本 17.8 到 17.9 中,GitHub Copilot 和 GitHub Copilot Chat 可作为两个单独的扩展进行安装。 安装 GitHub Copilot 扩展是安装 GitHub Copilot Chat 的先决条件。

按照获取适用于 Visual Studio 2022 版本 17.8 到 17.9 的 GitHub Copilot 中的步骤操作。

若要启用 GitHub Copilot,请确保已将 GitHub 帐户添加到 Visual Studio。 有关详细信息,请参阅将 GitHub 帐户添加到 Visual Studio 密钥链
通过向 GitHub Copilot Chat 提供详细信息,可以获得更好的答案,包括:

  • 使用斜杠命令可快速指定常见任务,例如使用 /explain 可获取代码说明。
  • 使用参考资料将聊天限定为特定文件。
  • 查看 Copilot 生成答案时所用的来源
  • 对每个 Copilot 聊天使用不同的线程,以便可以在每个聊天中维护不同的上下文。

详细了解如何在 Visual Studio 中使用 Copilot Chat

详细了解如何排查 GitHub Copilot 的常见问题

还可以通过 GitHub 的论坛跟踪以 GitHub Copilot 为主题的对话。

否,GitHub Copilot 是单独的订阅,不包括在 Visual Studio Professional 或 Enterprise 许可证中。

详细了解 GitHub Copilot 的计费

GitHub Copilot 可改变开发人员体验。 在 AI 领导者的支持下,Copilot 在整个软件开发生命周期中提供考虑了上下文的帮助,从 IDE 中的代码补全和聊天辅助,到 GitHub 中的代码说明和文档解答,等等。 借助 Copilot 提升其工作流,开发人员可以专注于其他方面: 价值、创新和幸福感。

通过 GitHub Copilot,开发人员可以将更多精力集中在解决问题和协作上,并减少在单调工作和样板文件上的工作量。 正因如此,使用 Copilot 的开发人员比不使用此功能的开发人员对工作的满意度更高,并且在不牺牲质量的情况下编写代码的效率提高了 55%,这一切都有助于敬业的开发人员更快地交付优质软件。 不牺牲质量,最终让参与其中的开发人员更快地开发出优秀的软件。

GitHub Copilot 与先进的编辑器(包括 Visual Studio Code、Visual Studio、JetBrains IDE 和 Neovim)集成,与其他 AI 编码助手不同,它本机内置于 GitHub 中。 Copilot 已发展到拥有数百万个人用户和数万企业客户,是全球最广泛采用的 AI 开发人员工具,也是开发人员点名要求的竞争优势。

有关 GitHub Copilot 的一般使用、产品影响、人员、监督和隐私的详细信息,请查看 GitHub Copilot 常见问题解答的完整列表。

GitHub Copilot 针对公共存储库中显示的所有语言进行训练。 对于每种语言,你收到的建议质量可能取决于该语言的训练数据的数量和多样性。 例如,JavaScript 在公共存储库中具有充分的代表性,是 GitHub Copilot 提供最佳支持的语言之一。 公共存储库中代表性不足的语言可能会生成较少的建议或不太可靠的建议。

有关 GitHub Copilot 的一般使用、产品影响、人员、监督和隐私的详细信息,请查看 GitHub Copilot 常见问题解答的完整列表。

GitHub Copilot 由 GitHub、OpenAI 和 Microsoft 开发的生成式 AI 模型提供支持。 它使用公开可用来源的自然语言文本和源代码(包括 GitHub 上的公共存储库中的代码)进行训练。

有关 GitHub Copilot 的一般使用、产品影响、人员、监督和隐私的详细信息,请查看 GitHub Copilot 常见问题解答的完整列表。

否,GitHub Copilot 使用概率决定法生成建议。

在考虑知识产权和开源问题时,了解 GitHub Copilot 的实际工作原理至关重要。 创建 Copilot 建议的 AI 模型可根据公共代码进行训练,但不包含任何代码。 当它们生成建议时,不会从任何代码库中“复制和粘贴”。

  • 若要生成代码建议,Copilot 扩展首先检查编辑器中的代码,重点关注光标前后的代码行,还要检查编辑器中打开的其他文件以及用于标识相关上下文的存储库或文件路径的 URL 等信息。 该信息将发送到 Copilot 的模型,以便从概率上确定接下来可能出现的情况并生成建议。
  • 若要在代码编辑器中生成聊天建议,Copilot 扩展通过将提示与其他上下文(包括在活动文档中打开的代码文件、代码选择以及框架、语言和依赖项等常规工作区信息)相结合来创建上下文提示。 该信息将发送到 Copilot 的模型,以便从概率上确定接下来可能出现的情况并生成建议。
  • 若要在 GitHub.com 上生成聊天建议,例如从聊天提示中提供问题的答案,Copilot 通过将提示与其他上下文(包括以前的提示、GitHub.com 上的打开页面以及从代码库或必应搜索中检索的上下文)结合使用来创建符合上下文的提示。 该信息将发送到 Copilot 的模型,以便从概率上确定接下来可能出现的情况并生成建议。

有关 GitHub Copilot 的一般使用、产品影响、人员、监督和隐私的详细信息,请查看 GitHub Copilot 常见问题解答的完整列表。

GitHub Copilot 根据 Copilot 的访问和使用方式处理个人数据: 无论是通过 github.com、移动应用、扩展或各种 IDE 扩展,还是通过命令行界面(CLI)建议、IDE 代码补全或 GitHub.com 上的个性化聊天等功能。 已处理的个人数据类型可能包括:

  • 用户参与数据: 这包括在用户与 Copilot 交互时捕获的匿名标识符,例如接受或消除的完成、错误消息、系统日志和产品使用情况指标。
  • 提示: 这些是聊天或代码输入,以及发送到 Copilot AI 以生成建议的上下文。
  • 建议: 这些是 AI 生成的代码行或基于用户提示提供给用户的聊天响应。
  • 反馈数据: 其组成为包括回应(例如赞/踩)和可选评论在内的实时用户反馈,以及来自支持工单的反馈。

有关 GitHub Copilot 的一般使用、产品影响、人员、监督和隐私的详细信息,请查看 GitHub Copilot 常见问题解答的完整列表。

GitHub 如何使用 Copilot 数据取决于用户访问 Copilot 的方式以及目的。 用户可以通过 Web、扩展、移动应用、计算机终端和各种 IDE (集成开发环境)访问 GitHub Copilot。 GitHub 通常使用个人数据来:

  • 根据客户的配置和使用情况提供、维护和更新服务,以确保个性化体验和建议
  • 故障排除涉及通过修复软件 bug 并维护联机服务的功能和最新状态来排除、检测、解决和缓解各种问题,包括安全事件和产品相关问题
  • 通过保持服务处于最新状态和可以正常运行,增强用户工作效率、可靠性、有效性、质量、隐私、辅助功能和安全性

GitHub 的数据保护协议 (DPA) 中概述了这些做法,其中详细说明了我们对数据控制者客户的数据处理承诺。

GitHub 还会根据 DPA 经客户授权使用某些个人数据,以用于以下目的:

  • 计费和帐户管理
  • 遵守和承担法律义务
  • 用于滥用检测、防护和保护、病毒扫描以及扫描检测违反服务条款的情况
  • 生成用于计算员工提成和合作伙伴奖励的摘要报告
  • 生成用于内部使用和战略规划的聚合报表,涵盖预测、收入分析、容量规划和产品策略等领域

有关 GitHub 作为控制者进行的数据处理活动的详细信息,特别是对于 Copilot 个人客户,请参阅 GitHub 隐私声明

GitHub Copilot 的主要 IP 注意事项与版权相关。 为 Copilot 提供支持的模型基于大量可公开访问的代码进行训练,其中可能包含受版权保护的代码,而 Copilot 的建议(在极少数情况下)可能类似于其模型在训练时所用的代码。 下面应了解的这些注意事项的一些相关基本信息:

版权法允许使用有版权保护的作品来训练 AI 模型: 世界各个国家/地区在其版权法中都有规定,允许计算机从受版权保护的材料(包括软件代码)中学习、理解、提取模式和事实。 例如,欧盟、日本和新加坡有明确规定,允许机器学习开发 AI 模型。 其他国家/地区(包括加拿大、印度和美国)也允许按照其公平使用条款/公平交易条款进行此类训练。 GitHub Copilot 的 AI 模型是使用 GitHub 的公共存储库中的代码进行训练的,这些代码可公开访问,并且在允许的版权使用范围内。

建议中的版权风险如何? 在极少数情况下(根据 GitHub 的研究,概率小于 1%),GitHub 提供的建议可能与用于训练 GitHub AI 模型的代码示例一样。 同样,Copilot 不会“查找”或“复制并粘贴”代码,而是使用用户工作区的上下文来合成和生成建议。

我们的经验表明,在以下两种情况中最有可能提出匹配建议: (i) 代码编辑器中很少或没有上下文需要 Copilot 模型综合,或 (ii) 匹配建议代表常用的方式或方法。 如果代码建议与现有代码一样,则使用该建议可能会触发版权侵权索赔的风险,具体取决于所用代码的数量和性质以及代码使用方式的背景。 在许多方面,此风险都与使用非开发人员原创代码(例如复制网上来源的代码或重用库中的代码)所产生的风险相同。 正因为如此,负责任的组织和开发人员建议用户使用代码扫描策略来识别和评估潜在的匹配代码。

在 Copilot 中,可以选择是否允许 Copilot 建议与 GitHub.com 上的公开可用代码一样的代码补全。 有关详细信息,请参阅“在 GitHub.com 上配置 GitHub Copilot 设置”。 如果允许使用与公共代码匹配的建议,GitHub Copilot 可以在你接受此类建议时提供有关匹配代码的详细信息。 代码相同并不一定意味着侵犯版权,因此最终由用户决定是否使用该建议,以及在适当情况下应注明的代码部分及其作者(同时须遵守其他许可规定)。

有关 GitHub Copilot 的一般使用、产品影响、人员、监督和隐私的详细信息,请查看 GitHub Copilot 常见问题解答的完整列表。

开始免费试用 GitHub Copilot

反馈