该工具用于在 VS Code 扩展宿主(服务端)与 React webview(客户端)之间,通过 tRPC 建立类型安全的 RPC 通信,基于 postMessage 传输。
用途与能力:客户端提供 useTrpcClient() 钩子与 vscodeLink;服务端由 WebviewController 配合 callerFactory(appRouter) 分发查询、变更、订阅与中止操作。新建路由时,通过 publicProcedureWithTelemetry、router 与 BaseRouterContext 定义视图专属路由,注册到 appRouter,再创建控制器并加入 WebviewRegistry。
使用方式:路由上下文扩展 BaseRouterContext;过程用 zod 定义 .input();优先使用 publicProcedureWithTelemetry(自动生成形如 documentDB.rpc.{type}.{path} 的遥测事件),仅无需外部调用时用 publicProcedure。每个操作拥有独立 AbortController,可通过 ctx.signal 取消,客户端用 ac.abort() 或 sub.unsubscribe() 触发。订阅使用 async generator 逐批 yield。openAppWebview 的 webviewName 是注册键(viewType),而 tRPC 上下文中的 webviewName 仅作遥测标签。
适用场景:VS Code 扩展中 React 视图需要与扩展宿主进行类型安全、可遥测、可取消的数据交互。
限制:资料未提供该技能是否收费、价格、平台支持范围或已发布版本等信息;遥测命名、bundle 布局、开发服务器主机等由消费者自有的 configuration.ts 控制。代码与安装命令资料中暂未提供。