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 工作的人员。如果没有这些项目的贡献者们的巨大努力,这些选项就不会存在。