上下文服务器

扩展可以为助手提供 上下文服务器

扩展示例

要查看提供上下文服务器的扩展的工作示例,请查看 postgres-context-server 扩展

如果您想亲自尝试,可以将此扩展 安装为开发扩展

定义上下文服务器

给定的扩展可以提供一个或多个上下文服务器。 每个上下文服务器必须在 extension.toml 中注册

[context_servers.my-context-server]

然后,在扩展的 Rust 代码中,实现扩展上的 context_server_command 方法

#![allow(unused)]
fn main() {
impl zed::Extension for MyExtension {
    fn context_server_command(
        &mut self,
        context_server_id: &ContextServerId,
        project: &zed::Project,
    ) -> Result<zed::Command> {
        Ok(zed::Command {
            command: get_path_to_context_server_executable()?,
            args: get_args_for_context_server()?,
            env: get_env_for_context_server()?,
        })
    }
}
}

此方法应返回启动上下文服务器的命令,以及其运行所需的任何参数或环境变量。

如果您需要从外部来源(如 GitHub Releases 或 npm)下载上下文服务器,也可以在此处执行此操作。