用途:为 VS Code 聊天参与者(chat participant)的请求处理器构建响应。该技能说明所有响应输出都经由传给处理器的 ChatResponseStream 对象完成,并逐一记录支持的响应类型、用法与应避免的做法。
主要能力:markdown 渲染 CommonMark 文本,支持标题、加粗、代码块、列表、表格与主题图标;button 渲染可点击命令按钮;命令链接在 MarkdownString 中内联可点击命令;filetree 渲染可展开的文件目录树;progress 显示临时进度提示;reference 与 anchor 渲染文件引用标签和行内超链接;push 可编程推送任意 ChatResponsePart;followupProvider 在响应后展示可点击的后续建议。
用法要点:处理器签名接收 request、context、response、token 四个参数。多个 markdown 调用会拼接为同一渲染块,行内容需自行加换行。命令链接的 MarkdownString 必须用 isTrusted = { enabledCommands: [...] } 对象形式,参数以 URL 编码 JSON 附在命令 URI 后。filetree 需指定 baseUri。progress 为临时消息,下一响应部分出现即消失。followupProvider 通过 result.metadata 传递上下文,并返回 ChatFollowup 数组。
适用场景:实现聊天参与的请求处理、格式化富文本响应、添加操作按钮、展示待创建或已变更文件树、提供后续操作建议。
限制:聊天面板不支持原始 HTML、iframe、内嵌 Web 视图或自定义组件渲染;不支持 isTrusted 的布尔形式;不支持 internal:// URI;chat 响应中 MarkdownString 的 supportHtml 会被剥离。命令必须已在 VS Code 注册,未注册的命令按钮点击会报错。资料未提供收费、平台或性能等额外信息。