Skip to main content

使用 GitHub Copilot Chat(GitHub.com 版)

可以使用 GitHub Copilot Chat in GitHub.com 回答有关软件开发的一般问题,或有关存储库中代码的特定问题。

概述

GitHub Copilot Chat in GitHub.com 是一个聊天界面,可允许在 GitHub.com 上询问编码相关问题并接收答案。

注意****:Copilot Chat 也可用于所选 IDE。 有关在 IDE 中使用 GitHub Copilot Chat 的信息,请参阅“在 IDE 中使用 GitHub Copilot Chat”。

Copilot Chat 可帮助你完成各种编码相关任务,例如提供代码建议、提供代码片段功能和用途的自然语言说明、为代码生成单元测试,以及为代码中的 bug 建议修复。 有关详细信息,请参阅“关于 GitHub Copilot Chat(GitHub.com 版)”。

在 GitHub.com 上,可以使用 Copilot Chat 询问以下问题:

限制

  • 如果询问有关已选择为上下文的特定存储库的问题,并且存储库尚未为语义代码搜索编制索引,则聊天响应可能不理想。 从拥有存储库的组织访问 Copilot 的任何人都可以为该存储库编制索引。 有关更多信息,请参阅“询问有关存储库的探索性问题”。
  • 在某些情况下,如果将非常大的文件或大量文件用作问题上下文,则 Copilot Chat 的结果质量可能会降级。

先决条件

  • 若要使用 GitHub Copilot Chat,必须拥有有效的 GitHub Copilot 订阅。 有关详细信息,请参阅“关于 GitHub Copilot 的计费”。
  • 要使用 GitHub Copilot Chat in GitHub.com,必须授予 GitHub Copilot Chat 作为 GitHub Copilot Enterprise 成员的访问权限。 有关详细信息,请参阅“启用 GitHub Copilot 企业版功能”。

由技能提供支持

真实情况是,Copilot 由根据你提出的问题动态选择的一系列技能提供支持。 可根据聊天窗口中的状态更新,了解 Copilot 选择的是哪一项技能。

此外,还可以明确要求 GitHub Copilot Chat in GitHub.com 使用某项特定技能,例如 Use the Bing skill to find the latest GPT4 model from OpenAI

当前可用的技能

注意:可通过向 Copilot 提问,自行生成此列表:What skills do you have available?

技能说明默认情况下是否启用?示例问题
codesearchGit 存储库默认分支中的自然语言代码搜索。 当想要了解代码中实现某些功能的位置或方式时,此技能非常有用。 注意:这要求为存储库启用索引编制(请参阅下面的索引说明)。控制用户会话管理的逻辑位于哪里,它的工作原理是什么?
show-symbol-definition检索在 Git 存储库默认分支中定义具体代码(函数、类或结构)的代码行。 当你了解某个符号的确切名称并想要了解它时,这项技能非常有用。为 AuthUser 方法编写单元测试
pathsearch检索 Git 存储库默认分支中的某个具体文件。 当你在存储库中提供文件的确切路径时,此技能非常有用。user_auth.js 封装采用什么逻辑?
bing-search使用必应搜索引擎搜索网页。 此技能可用于教“助手”了解最新事件、新的开发进度、趋势、技术或非常具体、详细或精细的主题。否(需要管理员批准 - 请参阅“启用 GitHub Copilot 企业版功能”)最近有哪些文章涉及 SAP 令牌确保节点中漏洞安全性?

询问有关软件开发的一般问题

可以询问有关软件开发的一般性问题,该问题不关注存储库或知识库等特定上下文。

根据询问的问题和企业及组织设置,Copilot 可能会根据必应搜索结果使用信息做出响应。 使用必应搜索,Copilot 可以根据 Internet 上当前提供的信息,用最新的详细信息回答各种与技术相关的问题。 有关如何启用或禁用必应搜索集成的信息,请参阅“在企业中为 GitHub Copilot 实施策略”。

注意:**** 必应搜索集成到 Copilot Chat in GitHub.com 目前为 beta 版本,可能会有变动。

  1. 在 GitHub.com 的任何页面上,单击页面右上角的 GitHub Copilot 图标。

    此时将显示 GitHub Copilot Chat 面板。 要调整面板的大小,请单击并拖动顶部或左侧边缘。

  2. 如果面板包含与 Copilot 的前一次对话,请单击面板右上角的“新建对话”图标(加号)。

    “新建对话”按钮的屏幕截图,以深橙色边框突出显示。

  3. 如果面板标题为“讨论所有者/存储库”,请单击“所有存储库”****。

    Copilot 聊天面板页面的屏幕截图,其中“所有存储库”以深橙色边框突出显示。

  4. 如果面板中显示“询问 Copilot”页面,请单击“常规用途聊天”****。

    Copilot 聊天面板的屏幕截图,其中“常规用途聊天”以深橙色边框突出显示。

  5. 在面板底部的“询问 Copilot”框中,键入问题,然后按 Enter 键

    可以询问的一般问题的部分示例包括:

    • Go 编程语言的优点是什么?
    • 什么是敏捷软件开发?
    • 最热门的 JavaScript 框架是什么?
    • 给我一些正则表达式的示例。
    • 编写 bash 脚本以输出今天的日期。
  6. 如果 Copilot 使用必应搜索来回答问题,则响应上方会显示“来自必应的结果”。 单击此项可查看 Copilot 用于回答问题的搜索结果。

  7. 在对话主题中,可以提出后续问题。 Copilot 将根据对话上下文回答。 例如,可以键入“告诉我更多”以便让 Copilot 对其最后一条评论进行扩展。

    可以将初始问题用作后续问题的基础。 详细的基础提示可以帮助 Copilot 提供和后续问题更相关的答案。 有关详细信息,请参阅 GitHub 博客上的“提示 GitHub Copilot Chat 成为你的个人 AI 助手以实现辅助功能”。

  8. 要跳转回与之前与 Copilot 进行的对话,请单击面板右上角的“查看对话”图标(一个循环箭头环绕的钟面)。

    “对话历史记录”图标的屏幕截图,以深橙色边框突出显示。

询问有关存储库的探索性问题

Copilot 允许你使用自然语言问题来浏览 GitHub 上的存储库。 这有助于更好地了解在何处实现代码库的特定方面。

  1. 在 GitHub.com 的任何页面上,单击页面右上角的 GitHub Copilot 图标。

    此时将显示 GitHub Copilot Chat 面板。 要调整面板的大小,请单击并拖动顶部或左侧边缘。

  2. 如果面板包含与 Copilot 的前一次对话,请单击面板右上角的“新建对话”图标(加号)。

    “新建对话”按钮的屏幕截图,以深橙色边框突出显示。

  3. 如果面板中未显示“询问 Copilot”页面,请单击“所有存储库”****。

    Copilot 聊天面板页面的屏幕截图,其中“所有存储库”以深橙色边框突出显示。

  4. 在“询问 Copilot”页面上,选择一个存储库,为问题提供上下文。

    例如,可以一个选择想要更好地了解其代码的存储库。

    如果没有看到想要使用的存储库,可以进行搜索。

    注意:

    如果存储库已针对语义代码搜索编制索引,则 Copilot 在存储库上下文中回答此类自然语言问题的能力将得到提高。 启动具有存储库上下文的对话时,将显示存储库的索引状态。

    如果从拥有存储库的组织访问 Copilot,且该存储库尚未编制索引,则会显示“编制存储库名称索引”**** 按钮。 单击此按钮可开始索引编制过程。

    显示“编制存储库名称索引”按钮的屏幕截图,以深橙色边框突出显示。

  5. 在“询问 Copilot”框中,键入问题,然后按 Enter 键

    例如,可以询问:

    • 我们 API 中的速率限制在哪里实现?
    • WidgetFactory 类如何工作?
    • 将组织成员转换为外部协作者的代码在何处?
    • 在何处生成 SAT 令牌?

    Copilot 在聊天面板中回复。

  6. 要跳转回与之前与 Copilot 进行的对话,请单击面板右上角的“查看对话”图标(一个循环箭头环绕的钟面)。

    “对话历史记录”图标的屏幕截图,以深橙色边框突出显示。

询问有关特定文件或符号的问题

可以向 Copilot 询问有关存储库中特定文件或符号的信息。

注意:****“符号”是代码中的命名实体。 这可以是变量、函数、类、模块或属于代码库的任何其他标识符。

  1. 在 GitHub.com 的任何页面上,单击页面右上角的 GitHub Copilot 图标。

    此时将显示 GitHub Copilot Chat 面板。 要调整面板的大小,请单击并拖动顶部或左侧边缘。

  2. 如果面板包含与 Copilot 的前一次对话,请单击面板右上角的“新建对话”图标(加号)。

    “新建对话”按钮的屏幕截图,以深橙色边框突出显示。

  3. 如果面板中未显示“询问 Copilot”页面,请单击“所有存储库”****。

    Copilot 聊天面板页面的屏幕截图,其中“所有存储库”以深橙色边框突出显示。

  4. 在“询问 Copilot”页面上,选择一个存储库,为问题提供上下文。

    例如,可以一个选择想要更好地了解其代码的存储库。

    如果没有看到想要使用的存储库,可以进行搜索。

  5. 单击聊天面板底部的“附加文件或符号”按钮(一个回形针图标),然后搜索并选择一个或多个文件和符号。

    “附加文件或符号”按钮的屏幕截图,以深橙色边框突出显示。

  6. 在“询问 Copilot”框中,键入问题,然后按 Enter 键

    Copilot 在聊天面板中回复。

  7. 要跳转回与之前与 Copilot 进行的对话,请单击面板右上角的“查看对话”图标(一个循环箭头环绕的钟面)。

    “对话历史记录”图标的屏幕截图,以深橙色边框突出显示。

询问有关知识库的问题

组织所有者可以创建知识库,将一个或多个存储库中的 Markdown 文档归为一组。 可以使用知识库根据上下文的来询问问题。

当你输入查询时,Copilot 会搜索相关文档片段,合成相关文档片段的摘要来回答问题,并提供有关更多上下文的源文档链接。

  1. 在 GitHub.com 的任何页面上,单击页面右上角的 GitHub Copilot 图标。

    此时将显示 GitHub Copilot Chat 面板。 要调整面板的大小,请单击并拖动顶部或左侧边缘。

  2. 如果面板包含与 Copilot 的前一次对话,请单击面板右上角的“新建对话”图标(加号)。

    “新建对话”按钮的屏幕截图,以深橙色边框突出显示。

  3. 如果面板中未显示“询问 Copilot”页面,请单击“所有存储库”****。

    Copilot 聊天面板页面的屏幕截图,其中“所有存储库”以深橙色边框突出显示。

  4. 选择存储库或单击“常规用途聊天”****,可以开始与 Copilot 对话。

  5. 单击聊天面板底部的“附加知识”按钮(一个书籍图标),查看有权访问的知识库列表。

    “附加知识”按钮的屏幕截图,以深橙色边框突出显示。

  6. 单击要用作上下文的知识库。

    例如,可以选择包含组织内部开发人员文档的知识库。

    如果没有看到想要使用的知识库,可以进行搜索。

    显示包含知识库列表的“附加知识”弹出窗口的屏幕截图。

  7. 在页面底部的“询问 Copilot”框中,键入问题,然后按 Enter

    例如,如果选择包含组织内部开发人员文档的知识库,则可以询问:

    • 如何部署新应用程序?
    • 创建新 REST API 的流程是什么?
    • 日志记录的最佳做法是什么?
  8. 响应通常包含对 Copilot 用于从所选知识库中生成答案的文件的编号参考。 要列出所使用的源,请单击“编号参考”****。

    屏幕截图显示了来源引用的扩展列表。

  9. 要显示有关来源引用的信息,请单击列表中对应的条目。

    或者,要打开完整文件,请单击省略号 (...),然后选择“打开”****。

  10. 在对话主题中,可以提出后续问题。 后续问题将继续使用所选知识库作为上下文,直到明确分离该知识库或选择其他知识库。

  11. 要跳转回与之前与 Copilot 进行的对话,请单击面板右上角的“查看对话”图标(一个循环箭头环绕的钟面)。

    “对话历史记录”图标的屏幕截图,以深橙色边框突出显示。

询问有关特定代码块的问题

可以与 Copilot 聊天,了解存储库中的文件,或文件中的特定代码行。

  1. 在 GitHub.com 上,导航到存储库并打开一个文件。

  2. 执行下列操作之一:

    • 要询问有关整个文件的问题,请单击文件视图右上角的 Copilot 图标 ()。

      Copilot 按钮的屏幕截图,在文件视图顶部以深橙色边框突出显示。

    • 询问有关文件中特定行的问题:

      1. 通过单击要选择的第一行的行号,按住 Shift 并单击要选择的最后一行的行号来选择多行。
      2. 要询问有关所选行的问题,请单击所选内容右侧的 Copilot 图标 ()。 这将显示 GitHub Copilot Chat 面板,并将所选行作为问题的上下文。
      3. 要提出预定义的问题,请单击 Copilot 图标旁的向下按钮,然后选择其中一个选项。

      屏幕截图显示了用深橙色轮廓突出显示的 Copilot 按钮,位于一些选定代码的右侧。

  3. 如果单击 Copilot 图标,请在聊天面板底部的“向 Copilot 询问问题”框中键入问题,然后按 Enter

    例如,如果要询问整个文件,可以输入:

    • 说明此文件。
    • 如何改进此代码?
    • 如何测试此脚本?

    如果要询问特定行,则可以输入:

    • 说明所选行中的函数。
    • 如何改进此类?
    • 向此代码添加错误处理。
    • 编写此方法的单元测试。

    Copilot 将响应面板中的请求。

    对“所选行的函数有什么作用?”问题答复的屏幕截图

  4. 可以通过提出后续问题来继续对话。 例如,可以键入“告诉我更多”以便让 Copilot 对其最后一条评论进行扩展。

  5. 要清除、删除或重命名当前对话主题或启动新主题, 请在“询问 Copilot”框中键入 /,从显示的选项中进行选择,然后按 Enter

  6. 要在沉浸式模式下查看对话(仅显示对话主题),请单击对话线程右上角的虚线框图标。

    Copilot 面板右上角沉浸式模式按钮的屏幕截图。 该按钮以深橙色轮廓突出显示。

了解拉取请求中的更改

可以询问 Copilot,说明拉取请求中任何文件中的更改。

  1. 在 GitHub.com 上,导航到存储库中的拉取请求。

  2. 单击“已更改的文件”**** 选项卡。

  3. 执行下列操作之一:

    • 要询问有关拉取请求正在更改的文件的问题,请单击文件右上角的 ,然后单击“询问 Copilot 了解此差异”****。

    • 要询问有关拉取请求中文件内特定行的问题,请执行以下操作:

      1. 通过单击要选择的第一行的行号,按住 Shift 并单击要选择的最后一行的行号来选择多行。
      2. 要询问有关所选行的问题,请单击所选内容右侧的 Copilot 图标 ()。 这将显示 GitHub Copilot Chat 面板,并将所选行作为问题的上下文。
      3. 要提出预定义的问题,请单击 Copilot 图标旁的向下按钮,然后选择“说明”****。
  4. 如果单击了 Copilot 图标,或选择了“询问 Copilot 了解此差异”****,请在聊天面板底部的“询问 Copilot”框中键入问题,然后按 Enter 键。 例如,可以输入:

    • 为什么包含此模块?
    • 此行中的 actorData 是什么?
    • 说明此 do..end 块。
    • 此文件的用途是什么?

从搜索栏中访问 Copilot Chat

在存储库的主搜索框中键入问题,可以询问 Copilot 有关整个存储库的问题。

  1. 导航到 GitHub.com 上的存储库。

  2. 按 / 或单击页面顶部的主搜索框。

  3. 在搜索框中,在 repo:OWNER/REPO 后键入想要询问 Copilot 的问题。

    例如,可以输入:

    • 此存储库的用途是什么?
    • 在何处实施此代码库中的身份验证?
    • 许可证文件检测在此存储库中如何工作?
  4. 单击“询问 Copilot”****。

    GitHub 上主搜索框的屏幕截图。 下拉列表选项“询问 Copilot”以橙色边框突出显示。

    将显示 GitHub Copilot Chat 面板,Copilot 将响应你的请求。

共享有关 GitHub Copilot Chat in GitHub.com 的反馈

注意:**** 向 GitHub 提供有关 Copilot pull request summaries 的反馈的功能取决于企业设置。 有关详细信息,请参阅“启用 GitHub Copilot 企业版功能”。

要提供有关特定 Copilot Chat 响应的反馈,请单击每个聊天响应底部的大拇指向上或向下图标。

要提供有关 Copilot Chat 的一般反馈,请单击聊天面板右上角的省略号 (...),然后单击“提供反馈”