必须先验证终端中cargo和rustc可运行,否则sublime的rust功能静默失效;windows需将.cargoin加入path并重启sublime,macos/linux需执行rustup default stable并确认工具链激活,推荐rustenhanced插件,禁用老版rust插件,rust-analyzer须从github下载二进制并用绝对路径配置。

Sublime Text 本身不编译 Rust,所有“运行”“构建”“检查”都依赖你本地 cargo 和 rustc 是否真能被调用——插件只是管道,工具链才是引擎。没通过终端验证,装再多插件也只会静默失效。
验证 cargo 和 rustc 能否真正调用
这是唯一硬门槛,其他步骤全建立在这之上:
- 打开终端(不是 Sublime 控制台),执行
cargo --version和rustc --version,两行都必须输出版本号,不能报command not found - Windows 用户:rustup 安装后,务必把
C:UsersXXX.cargoin加进系统 PATH,并重启 Sublime(它不读取新环境变量) - macOS/Linux 用户:如果用
rustup install stable却没执行rustup default stable,cargo可能指向空工具链;用rustup show确认 active toolchain 是 installed 状态 - 常见假成功:
iTerm里能跑,但 Sublime 里Ctrl+B报cargo not found——因为 Sublime 启动时没加载 shell 配置(如~/.zshrc),PATH 不完整
别装错插件:RustEnhanced 是当前唯一靠谱选择
Package Control 搜 “Rust” 会出现两个名字接近的插件:
-
Rust(by rust-lang):只提供基础语法高亮和折叠,不支持 Cargo 工作区、无构建集成,2025 年起已基本停止维护 -
RustEnhanced:当前唯一持续更新、完整对接cargo和rust-analyzer的插件,支持Ctrl+Shift+B(run)、Ctrl+Alt+T(test)、Ctrl+Alt+L(clippy) - 装完
RustEnhanced后,务必禁用或卸载老版Rust插件,否则语法高亮会冲突,右下角状态栏可能卡在Plain Text
自定义 Build System 必须设对这三处
新建 Tools → Build System → New Build System…,粘贴以下内容并保存为 Rust.sublime-build:
{
"cmd": ["cargo", "run"],
"file_regex": "^(.+):([0-9]+):([0-9]+):\s*(.*)$",
"working_dir": "${project_path:${folder}}",
"selector": "source.rust"
}
-
file_regex很关键:它让双击错误行自动跳转到对应位置;漏了这行,报错就只是纯文本 -
working_dir必须用${project_path:${folder}},不是$file_path——否则在子目录打开src/main.rs时,cargo run会因找不到Cargo.toml报错 - 改完配置后,Sublime 不会自动重载,必须手动触发
Tools → Build System → Rust选中它;更常被忽略的是文件语法高亮没设对——如果右下角显示的是Plain Text而不是Rust,selector就不匹配,Ctrl+B会直接报 “No build system”
rust-analyzer 不是可选,且不能用 cargo install
没有 rust-analyzer,你就只有语法高亮和构建能力,没有类型提示、悬停查看、Go to Definition、重命名重构——这些不是插件功能缺失,是根本没语言服务器响应:
-
rust-analyzer是二进制语言服务器,不能用cargo install rust-analyzer(该命令已废弃) - 也不能靠
rustup component add rust-analyzer在所有系统上可靠启用——尤其 macOS 和某些 Linux 发行版会出权限或架构问题 - 推荐从 GitHub releases 下载对应平台的
rust-analyzer二进制,放进~/.cargo/bin/(macOS/Linux)或%USERPROFILE%.cargoin(Windows),确保终端里能直接执行rust-analyzer --version - LSP 插件(如
LSP-rust-analyzer)默认会找这个路径;如果没自动识别,需在 LSP 设置里手动指定"command": ["/full/path/to/rust-analyzer"]
最容易被忽略的点:Sublime 启动时读取的是启动那一刻的环境变量,不是你 shell 里动态改的 PATH;所以即使终端里 cargo --version 成功,Sublime 仍可能找不到命令——重启编辑器、从终端用 subl 启动、或手动补全绝对路径,是绕不开的三选一。











