Skip to main content

查找与 GitHub Copilot 建议匹配的公开代码

如果允许 GitHub Copilot 提供与可以公开获取的代码匹配的建议,则可以看到对 GitHub.com 上匹配的代码的参考。

注意:****% data variables.product.prodname_copilot %} 代码参考为公开 beta 版,可能随时更改。

关于 GitHub Copilot 中的代码参考

可以选择允许 GitHub Copilot 提供与 GitHub.com 上公开的代码匹配的代码完成建议。 有关详细信息,请参阅“在 GitHub.com 上配置 GitHub Copilot 设置”。

如果允许了与公开代码匹配的建议,GitHub Copilot 可以在你接受此类建议时提供有关匹配的代码的详细信息。 此功能称为代码参考。 此功能目前仅在 Visual Studio Code 提供。

如果接受与公共 GitHub 仓库中的代码匹配的代码完成建议,则会将一个条目添加到 GitHub Copilot 日志中。 日志项目包含一个指向 GitHub.com 上页面的链接,通过该链接可以查看对公共 GitHub 仓库中类似代码的参考。

链接的网页包含了为匹配代码所在仓库标识的任何许可证的详细信息。 检查参考后,可以决定如何继续操作。 例如,可以决定要使用的属性,或者是否要从项目中移除此代码。

注释

  • 代码参考目前不适用于使用 GitHub Copilot Chat 添加到代码的代码完成建议。
  • 代码参考目前仅会查找已接受 Copilot 建议的匹配项。 对于与你编写的代码的匹配项,或者你已更改的 Copilot 建议,将不会检查与公开代码的匹配项。
  • 通常,与公开代码匹配的几率不到 Copilot 建议的 1%,因此不要指望所接受的许多建议都有代码参考。

代码参考如何查找匹配的代码

Copilot 代码参考将以代码建议为基础,然后加上一些周围的代码,并将其与 GitHub.com 上所有公共存储库的索引进行比较,从而搜索匹配项。 专用 GitHub 仓库中的代码和 GitHub 之外的代码都不会包含在搜索过程中。 搜索索引会每隔几个月刷新一次。 因此,新提交的代码以及在创建索引之前删除的公共存储库中的代码可能不会包含在搜索中。 出于同样的原因,搜索可能会返回与创建索引后已删除或移动的代码的匹配项。

在 Visual Studio Code

中使用代码参考

要使用代码参考,必须允许与公开代码匹配的建议。 有关详细信息,请参阅“启用或禁用重复检测”。

可以在 Visual Studio Code 中访问来自其中一个 GitHub Copilot 日志的代码参考。

  1. 在 Visual Studio Code 中,从菜单栏中选择“查看”**** > “输出”,从而打开“输出” 窗口。

  2. 从“输出”**** 窗口右侧的下拉菜单中选择“GitHub Copilot 日志”****。

    “输出”窗口的屏幕截图,其中从下拉菜单中选择了“GitHub Copilot 日志”。

  3. 在 Visual Studio Code 中使用 GitHub Copilot 时,请保持显示 GitHub Copilot 日志视图。

    如果接受与公共 GitHub 仓库中的代码匹配的代码完成建议,则会将一个条目添加到日志中。

    该日志项目包含以下详细信息:

    • 你接受建议的日期和时间。
    • 在其中添加了建议的文件的名称。
    • 告知你找到了类似的代码,以及许可证数量和类型的消息。
    • 指向 GitHub.com 上页面的链接。
    • 在其中添加了建议的文件的位置。
    • 建议并添加的代码部分的代码片段。

    “输出”窗口的屏幕截图,其中显示了一个代码参考日志项目。

    注意:**** 关闭编辑器时将会刷新 GitHub Copilot 日志。

  4. 在此日志项目中,按下 Ctrl 并单击 (Windows/Linux) 或按下 Command 并单击 (Mac) 链接可以查看 GitHub.com 上的代码参考。

    该页面会列出找到的匹配项,并显示相关文件的摘录。 可单击文件名称来查看整个文件。

    GitHub.com 上列出的代码参考的屏幕截图。

    匹配项可能会来自具有不同(有时冲突)许可证的多个仓库。 可以使用页面左侧的复选框来仅显示与特定许可证关联的匹配项。

    应检查仓库中的所有许可证信息,以验证它是否适用于匹配的代码,因为仓库可能包含多个许可证,并且这些许可证可能存在人为和非人为的错误。

    注意****:显示完整详细信息集的网页将保持三个月可用。

验证代码参考功能

可以通过提示 Copilot 添加一些常用代码并检查 Copilot 日志中的输出来验证代码参考是否正常工作。

  1. 在 Visual Studio 中,创建一个名为 fizz-buzz.js 的文件。

  2. 在菜单栏中选择“查看”**** > “输出”,从而打开“输出” 窗口。

  3. 从“输出”**** 窗口右侧的下拉菜单中选择“GitHub Copilot 日志”****。

  4. 在编辑器中,键入:

    function fizzBuzz()
    

    GitHub Copilot 应会建议可用来完成函数的代码。

  5. Tab 键接受建议。

    如果代码参考找到与公开代码匹配的项,则会在“GitHub Copilot 日志”**** 视图中添加一个日志项目。