sublime text 配置 rust 环境需三步:识别 .rs 文件(装 rust-lang 官方 rust 插件并设为默认语法)、调用 cargo(控制台验证 path 含 ~/.cargo/bin 或 %userprofile%.cargoin,构建系统配 shell_cmd、working_dir、file_regex)、连通 rust-analyzer(2026年起须手动下载二进制并用绝对路径配置 lsp command)。

Sublime Text 本身不带 Rust 支持,所谓“安装配置组件”其实是三件事:让编辑器识别 .rs 文件、让构建系统能调用 cargo、让 LSP 补全/跳转能连上 rust-analyzer。漏掉任一环,Ctrl+B 就静默失败,右键 Go to Definition 就灰掉。
确认 Rust 工具链已装好且 PATH 可见
这是所有后续操作的前提。别跳过验证步骤——终端能跑 cargo --version ≠ Sublime 能调用它。
- 在 Sublime 控制台(
Ctrl+`)执行:import os; print(os.environ.get('PATH')),检查输出是否含~/.cargo/bin(macOS/Linux)或%USERPROFILE%.cargoin(Windows) - macOS/Linux:确保
~/.cargo/bin已写入 shell 配置(如~/.zshrc),并执行过source ~/.zshrc;更可靠的是从终端启动:subl . - Windows:必须把
%USERPROFILE%.cargoin加进「系统环境变量」(不是用户变量),加完彻底退出 Sublime(右键任务栏 → 退出),再重开
语法高亮与文件识别:只装 Rust(by rust-lang),别碰 RustEnhanced
Sublime 默认把 .rs 当 Plain Text,不手动设语法,后续所有功能都失效。状态栏右下角必须显示 Rust,不是 RustEnhanced 或其他变体。
- 用 Package Control 安装插件
Rust(作者是 rust-lang),不是RustEnhanced—— 二者共存会导致 selector 冲突,状态栏卡死在 Plain Text - 打开任意
.rs文件,点右下角状态栏,手动选Rust → Rust;之后进View → Syntax → Rust → Rust设为默认,避免每次手切 - 装完后检查:按
Ctrl+Shift+P输入Set Syntax: Rust,应能命中;若无响应,说明插件没加载成功
构建系统:用 JSON 写死 shell_cmd + working_dir + file_regex
网上抄的 Build System 常缺字段,导致 cargo run 报 no Cargo.toml file found,或错误信息无法双击跳转。
- 新建 Build System(
Tools → Build System → New Build System),粘贴以下内容(注意 JSON 转义):{ "shell_cmd": "cargo run", "working_dir": "${project_path:${folder}}", "shell": true, "file_regex": "^(.+):([0-9]+):([0-9]+):\s*(.*)$" } -
"shell": true是关键:它让命令走系统 shell,能继承完整 PATH 和 alias;不用它,Windows 上空格路径大概率崩 -
"working_dir"必须是项目根(含Cargo.toml的目录),不能是${file_path}—— 否则 cargo 在src/下执行,自然找不到Cargo.toml - 保存为
Rust.sublime-build,然后Tools → Build System → Rust手动选中它
rust-analyzer:2026年起必须手动下载二进制,禁用 cargo install
cargo install rust-analyzer 已废弃,rustup component add rust-analyzer 在 macOS/Linux 上常静默失败。LSP 插件报 client not started 或 server crashed,90% 是因为根本没找到可执行文件。
- 去 GitHub releases 下载对应平台的最新二进制(如
rust-analyzer-aarch64-apple-darwin),解压得单个无后缀文件(macOS/Linux)或.exe(Windows) - 放到固定路径:
/usr/local/bin/rust-analyzer(macOS/Linux)或C: ools ust-analyzer.exe(Windows),并确认该路径已加入系统 PATH - LSP 插件配置中(
LSP.sublime-settings),"command"必须写绝对路径:"command": ["/usr/local/bin/rust-analyzer"]
,不能只写["rust-analyzer"] - 重启 Sublime 后,在控制台运行
import os; print(os.environ.get('PATH')),确认该路径在输出里
最易被忽略的点是:Sublime 的 PATH 和你的 shell 不是一回事,GUI 启动时根本不读 ~/.zshrc;而 rust-analyzer 的路径一旦配错,LSP 就永远起不来,但错误日志里往往只显示 “server crashed”,不会告诉你它根本没找到文件。











