写点什么

GitHub Copilot Extensions 普遍可用,支持与外部服务交互

作者:Sergio De Simone

  • 2025-03-14
    北京
  • 本文字数:960 字

    阅读完需:约 3 分钟

GitHub Copilot Extensions 普遍可用,支持与外部服务交互

GitHub Copilot Extensions 允许开发者使用自然语言在 IDE 中查询文档、生成代码、检索数据以及在外部服务上执行操作,现已正式普遍可用。除了使用来自 Docker、MongoDB、Sentry 等公司的公共扩展外,开发者还可以创建自己的扩展实现与内部库或 API 发生交互。


GitHub Marketplace 已经提供了数十种扩展,涵盖了广泛的开发相关服务。例如,你可以使用 Stack Overflow 扩展在不离开编辑器的情况下直接提问编程相关问题;而 GitBook 扩展则允许你查询有关 GitBook 文档的问题。


除了提供文档访问外,Copilot 扩展还可以让开发者直接在 IDE 中与服务发生交互。例如,Docker 扩展可帮助生成 Docker 相关文件并分析漏洞;LambdaTest 扩展可用于管理测试工作流,并简化测试执行、自动化和洞察生成;Mermaid Chart 扩展可以根据你当前 IDE 中的 GitHub Actions、SQL 或其他文件生成各种图表。


如前所述,开发者还可以创建自己的扩展来访问私有数据或内部服务。为了方便开发者创建扩展,GitHub 发布了多个示例代码库,演示如何构建一个 基本的 “Hello World” 扩展、如何从扩展的测试用户那里收集反馈,等等。


构建 Copilot 扩展有两种方式。一种是定义技能集,Copilot 负责处理所有与扩展的 AI 交互,而扩展只需提供几个可调用端点的描述,用于处理用户请求。目前,一个扩展最多可配置五个不同的技能。


另一种你可以使用自己的 AI 智能体,在这种情况下,你需要将用户上下文中的某些信息传给智能体,例如用户当前文件、选中文本和代码库的详细信息。智能体接收包含用户消息及其当前环境引用的服务器发送事件(SSE)。实际的上下文信息会因托管扩展的客户端而异。例如,Visual Studio 和 Visual Studio Code 会传递当前选中内容或整个文件内容,而 GitHub.com 则不会,但会提供用户当前访问的页面 URL。


为了方便扩展开发者管理身份验证,GitHub 最近增加了对 OpenID Connect (OIDC) 的支持。开发者无需在每个请求中验证 GitHub 令牌的有效性,而是可以使用预交换的令牌。


GitHub Copilot 扩展可以在多种客户端中使用,包括 Visual Studio 和 Visual Studio Code、GitHub.com 和 GitHub 移动应用,以及 JetBrains 的 IDE。不过,它们目前不支持 Xcode 或 GitHub Codespaces,也不支持 vim 或 emacs。


查看英文原文


https://www.infoq.com/news/2025/02/github-copilot-extensions/

2025-03-14 16:448750

评论

发布
暂无评论

画一个冰糖葫芦祝大家甜甜蜜蜜

急需上岸的小谢

10月月更

Java注解

急需上岸的小谢

10月月更

改变线程状态的方法

急需上岸的小谢

10月月更

Go基础数据类型使用实战:int float bool

王中阳Go

Go golang 学习方法 golang 面试 10月月更

ZooKeeper数据模型

穿过生命散发芬芳

zookeeper 10月月更

日志管理与分析系统的基本功能

阿泽🧸

日志管理 10月月更

Linux中的目录结构是什么样的?有人说像“树”,你觉得呢

wljslmz

Linux 10月月更 目录结构

抢滩东南亚,融云IM助力应用抓住经济转型红利

融云 RongCloud

互联网 数字化 IM

让Jenkins执行GitHub上的pipeline脚本

程序员欣宸

GitHub jenkins 10月月更

nodejs实现jwt

coder2028

node.js

你用Go写过中间件吗?带你用Go实现【操作日志中间件】

王中阳Go

golang 高效工作 学习方法 #go 10月月更

All Eyes on Docs! 练就火眼金睛,就来StarRocks 极客营

StarRocks

数据库

Go slice切片详解和实战:make append copy

王中阳Go

Go golang 学习方法 #go 10月月更

Vue组件入门(八)v-model + 自定义参数

Augus

Vue 3 10月月更

Zebec 以 Layer2 的形式推出 Zebec Chain,流支付新时达来临了

西柚子

高效能敏捷交付团队反思:特性团队(FeatureTeam)+Scrum

laofo

DevOps 敏捷 研发效能 持续交付 敏捷研发

深聊Nodejs模块化

coder2028

node.js

Java多线程 线程池的生命周期及运行状态

Yeats_Liao

后端 Java core 10月月更

【一Go到底】第十九天---init函数、匿名函数

指剑

Go golang 10月月更

你的公司需要数据中台吗?

久歌

架构

JDBC学习

Studying_swz

后端 10月月更

java部分基础总结

Studying_swz

java 编程 10月月更

Go 语言入门很简单:Go 语言的错误处理

宇宙之一粟

异常处理 错误处理 Go 语言 10月月更

leetcode 380. Insert Delete GetRandom O(1) O(1) 时间插入、删除和获取随机元素 (中等)

okokabcd

LeetCode 数据结构与算法

数据湖(四):Hudi与Spark整合

Lansonli

Hudi 10月月更

2022-10-18:以下go语言代码输出什么?A:panic;B:编译错误;C:moonfdd1。 package main import ( “fmt“ “net/url“ ) // 其中

福大大架构师每日一题

golang 福大大 选择题

挑战 30 天学完 Python:Day6 数据类型 - 元组tuple

MegaQi

Python 挑战30天学完Python 10月月更

翟佳:StreamNative 组织构建之路丨声网开发者创业讲堂 • 第 5 期

声网

技术管理 人工智能’

Java多线程 关闭线程池 shutdown() 、shutdownNow()、awaitTermination()

Yeats_Liao

后端 Java core 10月月更

JavaWeb(一)

Studying_swz

后端 10月月更

GitHub Copilot Extensions 普遍可用,支持与外部服务交互_云原生_InfoQ精选文章