01
最佳做法
GitHub Copilot 是由人工智能 (AI) 提供支持的编码助手,可在各种环境中运行,帮助你更高效地完成日常编码任务。 在此新系列内容中,我们将专门介绍 GitHub Copilot 在 Visual Studio 中的工作原理,以及它如何帮助你提高工作效率。
任何大语言模型的输出质量在很大程度上都取决于提示的质量,GitHub Copilot 也不例外。 在此新视频中,Gwyn 介绍了 Visual Studio 2022 中 GitHub Copilot 的“提示工程”,以及如何通过更好的提示生成更好的结果。
开始在编辑器中撰写,Copilot 将在键入时提出代码建议。
提示: 按 “tab” 接受建议。
通过将提示转换为代码,使用内联聊天可帮助你编写方法、类和单元测试。 通过在文本文件中右键单击并选择“询问 Copilot”或按 Alt + /` 来打开内联
提示: 使用 “/” 声明你的意图或使用 “#” 引用你的文件。 类似于 “/test for #filename”
询问有关解决方案或文件的问题。 通过 Copilot 徽章或按 CTRL + /,C 打开。
提示: 使用 #solution 在 Visual Studio 中引用活动解决方案(仅适用于 C#)
Visual Studio 2022 版本 17.10 或更高版本
有关更多详细信息,请访问 learn.microsoft.com 上的 在 Visual Studio 文档页面安装和管理 GitHub Copilot 。
在 Visual Studio 2022 版本 17.10 或更高版本中,GitHub Copilot 和 GitHub Copilot 聊天可作为单个扩展(即 Copilot 和 Copilot 聊天合并到一个包中)进行安装。 默认情况下,统一的 GitHub Copilot 扩展作为内置的推荐组件包含在所有工作负载中,并通过 Visual Studio 安装程序提供。
若要获取新的统一 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 中的步骤操作。
详细了解如何 在 Visual Studio 中使用 Copilot Chat 。
详细了解如何 排查 GitHub Copilot 的常见问题 。
还可以通过 GitHub 的 论坛 跟踪以 GitHub Copilot 为主题的对话。
否,GitHub Copilot 是单独的订阅,不包括在 Visual Studio Professional 或 Enterprise 许可证中。
详细了解 GitHub Copilot 的计费 。
对于具有 Copilot Business 订阅的组织所有者,可以 向组织成员授予和管理 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 模型可根据公共代码进行训练,但不包含任何代码。 当它们生成建议时,不会从任何代码库中“复制和粘贴”。
有关 GitHub Copilot 的一般使用、产品影响、人员、监督和隐私的详细信息,请查看 GitHub Copilot 常见问题解答 的完整列表。
GitHub Copilot 根据 Copilot 的访问和使用方式处理个人数据: 无论是通过 github.com、移动应用、扩展或各种 IDE 扩展,还是通过命令行界面(CLI)建议、IDE 代码补全或 GitHub.com 上的个性化聊天等功能。 已处理的个人数据类型可能包括:
有关 GitHub Copilot 的一般使用、产品影响、人员、监督和隐私的详细信息,请查看 GitHub Copilot 常见问题解答 的完整列表。
GitHub 如何使用 Copilot 数据取决于用户访问 Copilot 的方式以及目的。 用户可以通过 Web、扩展、移动应用、计算机终端和各种 IDE (集成开发环境)访问 GitHub Copilot。 GitHub 通常使用个人数据来:
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 常见问题解答 的完整列表。