Note
GitHub Copilot Extensions 为 公共预览版,可能随时更改。
关于 GitHub Copilot Extensions
GitHub Copilot Extensions 是一种在 GitHub Copilot Chat 中集成了多种强大的外部工具的 GitHub App。 Copilot Extensions 可由任何人开发,用于私人或公共用途,并且可以通过 GitHub Marketplace 与他人共享。
Note
GitHub Copilot Extensions 与 _GitHub Copilot 扩展_不同,在 IDE 中安装后者可使用 Copilot 的默认功能,例如代码完成和 GitHub Copilot Chat。 有关 _GitHub Copilot 扩展_的详细信息,请参阅“使用 GitHub Copilot 在 IDE 中获取代码建议”。
可以通过以下两种方式之一开始使用 Copilot Extensions:
- 构建自己的 Copilot Extension。 请参阅“关于生成 Copilot 扩展”。
- 可以从 GitHub Marketplace 安装 Copilot Extension。
可以在 Copilot Chat 对话中与自定义生成的或已安装的扩展进行交互,提问并执行将外部工具和 GitHub 的功能相结合的操作。 例如,如果为 GitHub Copilot 安装 Sentry 扩展,则可以使用该扩展获取有关 Sentry 问题的信息,然后在 GitHub 上创建和分配相关的跟踪问题。
Copilot Extensions 提供了多项优势,包括:
- 使用自然语言与外部工具互动
- 减少上下文切换
- 为开发人员流程自定义 Copilot Chat 体验
Copilot Extensions 包含在所有 Copilot 订阅中。
支持的客户端和 IDE
客户端和 IDE | GitHub Copilot Extensions 支持 |
---|---|
Visual Studio Code | |
Visual Studio | |
GitHub.com | |
GitHub Mobile | |
JetBrains IDE | |
GitHub Codespaces | |
Vim/Neovim | |
Copilot in the CLI | |
Xcode |
关于传入 GitHub Copilot Extensions 的上下文
Note
上下文传递位于 公共预览版 中,可能会更改。
GitHub Copilot Extensions 可以访问某些上下文信息,具体取决于其使用位置。 与扩展交互时,此上下文会自动传递,但需要通过 GitHub App 权限进行显式授权,才可在组织拥有的任何仓库中使用。
上下文传递可帮助扩展了解当前工作环境,以提供更相关的帮助,同时通过权限控制维护安全性。 上下文传递还遵循内容排除、.env
文件和内容排除设置中列出的文件。
下表显示了根据所使用的客户端或 IDE 传递给 GitHub Copilot Extensions 的上下文。
客户端或 IDE | client.file | client.selection | github.repository | github.current-url | 其他上下文 |
---|---|---|---|---|---|
Visual Studio Code | 是 | 是 | 是 | 否 | 仓库所有者和分支 |
Visual Studio | 是 | 是 | 是 | 否 | 仓库所有者和分支 |
GitHub.com | 否 | No | 是 | 是 | 仓库信息和其他 GitHub 资源 |
GitHub Mobile | 否 | No | No | 是 | 不适用 |
JetBrains IDE | 否 | No | No | 是 | 不适用 |
先决条件
如果拥有 Copilot Individual 订阅,则需要安装 Copilot Extension,才能在 Copilot Chat 中使用扩展。 请参阅“扩展个人帐户的 GitHub Copilot 功能”。
如果能够通过 Copilot Business 或 Copilot Enterprise 订阅访问 Copilot:
- 组织所有者或企业所有者需要为组织或企业启用 Copilot Extensions 策略。 请参阅 GitHub Enterprise Cloud 文档中的“管理组织中的 Copilot 策略”和“管理企业中 Copilot 的策略和功能”。
- 组织所有者需要为组织安装 Copilot Extensions。 请参阅“扩展组织的 GitHub Copilot 功能”。
使用 GitHub Copilot Extensions
-
要开始使用 Copilot Extension,请打开一个支持的 Copilot Chat 界面。 请参阅“支持的客户端和 IDE”。
-
要查看 Copilot Chat 对话中的所有可用 Copilot Extensions 的列表,请在 Copilot Chat 文本框中键入
@
。Note
如果在 IDE 中使用 Copilot Chat,并且你或你的组织所有者在 IDE 打开的情况下安装 Copilot Extension,则需要重启 IDE 以开始使用 Copilot Extension。
-
在可用 Copilot Extensions 的列表中,单击要使用的 Copilot Extensions。
-
要开始与 Copilot Extension 互动,请在 Copilot Chat 文本框中要求扩展回答一个问题或执行一个操作,然后按 Enter。 对于每个新请求,请务必在语句的开头包含
@EXTENSION-NAME
。- 如果未亲自安装 Copilot Extension,并且这是你首次使用 Copilot Extension,系统会要求你授权该扩展。 请参阅“授权 GitHub Apps”。
- 如果要求 Copilot Extension 执行一个操作,则需要确认扩展有权代表你完成此任务。 仔细查看建议的操作之后,在确认对话框中单击“允许”或“关闭”。********
GitHub Copilot Extensions 的使用技巧
-
使用 Copilot Extension 时,考虑如何与 Copilot Chat 外部的工具进行互动,然后使用自然语言提问,并分配任务以便将工具的功能与 GitHub 集成在一起。 例如,Sentry 是一款拥有 Copilot Extension 的应用程序监控软件。 下面是 GitHub Copilot 的 Sentry 扩展的一些示例提示:
@sentry list my most recent issues
@sentry tell me more about issue ISSUE-ID-OR-ISSUE-LINK
@sentry create a GitHub issue for the most recent Sentry issue and assign it to @DEVELOPER
有关使用特定 Copilot Extension 的最佳方法的信息,请阅读 GitHub Marketplace 上的扩展说明。
-
与一个 Copilot Extension 进行的互动永远不会与其他 Copilot Extension 共享。 要与 IDE 中的另一个 Copilot Extensions 互动,请更改每个语句开头的
@EXTENSION-NAME
。 与不同的扩展进行的互动将显示在同一个 Copilot Chat 窗口中,但会自动分隔对话本身。
其他资源
有关 GitHub Copilot Extensions 相关疑问和问题,请使用以下资源:
- 用户和生成器的一般问题:请访问 GitHub 支持门户。
- GitHub 的请求或反馈:使用 GitHub 社区讨论线程。
- 第三方扩展发布者的请求或反馈:在用户反馈存储库中提出问题,并添加带有扩展的 slug 名称的标签。
- GitHub 技术合作伙伴:直接向合作伙伴团队发送电子邮件以获取帮助。
- Copilot-enabled Visual Studio Code extensions:有关此类型的 Copilot Extension 的详细信息,请参阅 Visual Studio Code 文档中的聊天扩展。
Note
GitHub 支持 无法回答有关 Copilot-enabled Visual Studio Code extensions 的问题,因为此实现路径由 VS Code 团队拥有和维护。