rust analyzer 是当前最可靠的 rust 补全方案,需通过 lsp 插件在 sublime text 中配置:安装 rust-analyzer 二进制并加入 path,再在 lsp 用户设置中显式指定 command 路径,确保文件位于 cargo 工作区且语法为 rust。

Rust Analyzer 是当前最可靠的补全方案
Sublime Text 本身不原生支持 Rust 的语义级补全,强行用旧的 RustEnhanced 插件或简单配置 rustc CLI 工具,补全效果差、响应慢、无法跳转定义。现在唯一推荐路径是通过 rust-analyzer(RA)作为语言服务器,配合 Sublime Text 的 LSP 插件驱动补全。
关键点在于:RA 不依赖项目是否编译通过,能解析 Cargo.toml 并理解模块层级、泛型、宏展开(部分),补全准确率远超其他方案。
安装 LSP 和 rust-analyzer 二进制
先确保已安装 rust-analyzer 可执行文件,并让 Sublime Text 能找到它:
- 从 rust-analyzer GitHub Releases 下载最新
rust-analyzer-x86_64-unknown-linux-gnu.gz(Linux)、-x86_64-apple-darwin.gz(macOS)或-x86_64-pc-windows-msvc.zip(Windows),解压后重命名为rust-analyzer(Windows 为rust-analyzer.exe) - 把它放到系统 PATH 下(如
/usr/local/bin、%USERPROFILE%\AppData\Local\Microsoft\WinGet\Packages\rust-lang.rust-analyzer或自建目录并加入 PATH) - 在 Sublime Text 中通过 Package Control 安装
LSP插件(不是LSP-json或其他变体) - 重启 Sublime Text,按
Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(macOS),输入LSP: Enable Language Server Globally,选择rust-analyzer
LSP 配置需显式指定 rust-analyzer 路径
即使 rust-analyzer 在 PATH 中,LSP 插件有时仍会找不到——尤其 Windows 上 PATH 缓存滞后或使用了非标准 shell 启动 Sublime。必须手动配置路径:
打开 Preferences → Package Settings → LSP → Settings,在右侧用户设置中写入:
{
"clients": {
"rust-analyzer": {
"enabled": true,
"command": ["rust-analyzer"],
"selector": "source.rust",
"initializationOptions": {
"cargo": {
"loadOutDirsFromCheck": true
},
"procMacro": {
"enable": true
}
}
}
}
}
注意:"command" 值如果是自定义路径(比如 "/opt/rust-analyzer"),必须写绝对路径;Windows 用户若用 WSL 路径,无效,得用 Windows 原生路径。
补全生效前,确保当前文件属于 Cargo 工作区(即所在目录有 Cargo.toml),否则 RA 不会启动,LSP 状态栏显示 “No language server for rust”。
常见补全失效原因与验证步骤
补全没反应?不是插件没装好,大概率是环境链路断在某个环节:
- 打开命令面板运行
LSP: Show Log,看是否有Failed to start rust-analyzer或connection closed类错误 - 检查终端中执行
rust-analyzer --version是否返回版本号;如果报 “command not found”,说明 PATH 没生效,或 Sublime 启动时未继承该 PATH - 确认文件语法高亮是
Rust(右下角状态栏显示),不是Plain Text或Markdown;可通过Ctrl+Shift+P → Set Syntax: Rust强制切换 - 首次打开大型项目(如
tokio)可能需要 10–30 秒建立索引,状态栏显示 “Indexing…”,此时补全不可用,耐心等待 - 若用
cargo workspaces,确保根目录有Cargo.toml,且子 crate 的path引用被正确识别(RA 默认支持,无需额外配置)
真正麻烦的不是配置,而是 Sublime Text 启动方式和环境变量的隐式隔离——从桌面图标、Spotlight、开始菜单启动的 Sublime,往往看不到 shell 配置的 PATH,这点比 VS Code 更隐蔽。











