rust-analyzer
概述
Rust 官方语言服务器,2022 年合并进 rust-lang 组织,取代 rls 成为 Rust 生态的标准 LSP 实现,采用 Salsa 增量计算框架实现高效的代码分析。
关键内容
-
历史演进:2018 年 Aleksey Kladov (@matklad) 启动实验项目,2020 年 Rust 官方宣布其为 rls 继任者,2022 年合并进 rust-lang 组织,2023 年随 rustup 默认分发。
-
架构设计:采用 Salsa 增量计算框架(基于依赖追踪的增量分析,只重算变更部分)、Resilient 解析(即使代码有语法错误也能提供服务)、离散数据结构 CST(保留所有空白/注释信息)、无 panic 设计。
-
核心模块:
rust-analyzer/(LSP Server 入口)、ide/(IDE 功能层,无 LSP 依赖)、hir/(高层中间表示,含 hir_def/hir_ty/hir_expand)、syntax/(CST 解析器,基于 rowan 库)。 -
发布节奏:每周滚动发布,2025 年接近 1.0 稳定性。
来源
- 03_rust_lsp — Rust LSP 工具完整调研
相关
- LSP(语言服务器协议) — implements
- rls — supersedes
- Salsa — depends_on