RLS 已弃用

2022 年 7 月 1 日 · Rust 开发工具团队

Rust 语言服务器 (RLS) 已被弃用,取而代之的是 rust-analyzer。RLS 的当前用户应迁移到使用 rust-analyzer。RLS 的构建将继续发布,至少到 Rust 1.64 版本 (2022-09-22) 发布为止,之后将不再发布新版本。如果出现任何问题,此时间表可能会更改。

RLS 是 语言服务器协议 (LSP) 的实现,它为支持该协议的任何编辑器提供增强功能,例如代码检查和重构。RLS 由 RFC 1317 引入,从 2016 年到 2019 年,其开发非常活跃。但是,RLS 的架构存在一些限制,这使得难以提供交互式环境所需的低延迟和高质量响应。

rust-analyzer 的开发始于 2018 年初,旨在为 Rust 提供另一种 LSP 实现。rust-analyzer 使用一种根本不同的方法,不依赖于使用 rustc。在 RFC 2912 中,rust-analyzer 被采用为 RLS 的官方替代品。

迁移到 rust-analyzer 的方式取决于您使用的编辑器。如果您使用的是 VSCode,则应卸载 rust-lang.rust 扩展并安装官方的 rust-lang.rust-analyzer 扩展。对于其他编辑器,请参阅 rust-analyzer 手册,了解有关如何安装它的说明。

如果您在迁移到 rust-analyzer 时遇到任何问题,可以在 Rust 用户论坛的 编辑器和 IDE 类别 中寻求有关安装和使用的帮助。

我们很快就会将官方的 rust-lang.rust VSCode 扩展标记为已弃用,并将实施通知,告知用户有关此过渡的信息。在 RLS 发布版本结束之后,我们计划在官方 Rust 版本中用一个小型 LSP 实现替换 rls 可执行文件,该实现会通知用户 RLS 不再可用。

我们要感谢所有为 RLS 和 rust-analyzer 工作过的人。如果没有所有这些项目贡献者的巨大努力,这些选项将不存在。