SuperAPI AI 工具集

creating-zed-extensions

编程与开发

查看项目

更新于 10-16 03:47

技能介绍

用途:本技能用于在创建 Zed 扩展时提供参考,Zed 扩展是编译为 WebAssembly 的 Rust 程序,可提供斜杠命令、语言支持、主题、语法和 MCP 服务器,并通过 Zed 扩展注册表分发。适用于添加自定义助手斜杠命令(如 /deploy、/analyze、/fetch-docs)、提供语言支持(语法高亮、LSP、格式化)、创建配色主题、集成外部工具、提供 MCP 服务器集成。不适用于简单规则(用 .rules 文件)、一次性脚本(用终端)或项目级配置(用 .zed/settings.json)。

主要能力:扩展实现 zed::Extension trait,通过 run_slash_command 处理命令输入并返回 SlashCommandOutput(含 text 和 sections);可选实现 complete_slash_command_argument 提供参数补全。extension.toml 定义 id、name、version、authors、repository、license,以及各斜杠命令的 description 和 requires_argument。支持使用 worktree 上下文读取项目文件,通过 SlashCommandOutputSection 标注结构化输出范围。

使用方式:需安装 Rust 并添加 wasm32-wasip1 目标(rustup target add wasm32-wasip1)。Cargo.toml 中设置 crate-type = ["cdylib"],依赖 zed_extension_api。以 cargo build --release --target wasm32-wasip1 编译,将 extension.toml 与生成的 extension.wasm 放入 Zed 扩展目录并重启 Zed 本地测试。发布需向 zed-industries/extensions 仓库提交 PR。

限制:许可证须为 MIT、Apache-2.0、BSD-3-Clause 或 GPL-3.0(截至 2025 年 10 月 1 日),其他许可证会在审查中被拒绝。需正确处理错误、校验参数、避免硬编码路径、为 match 添加默认分支,并避免阻塞操作以免冻结 Zed UI。其他事实暂未提供。