Sublime Text 可通过插件和正确工具链配置实现 Rust 开发:需安装 cargo、rustfmt(cargo install rustfmt)、rust-analyzer(非 cargo install),禁用已弃用的 rls;推荐 SublimeLinter-rust 做语法检查,RustEnhanced 实现保存自动格式化,LSP 插件配合 rust-analyzer 提供语义功能。

Sublime Text 本身不内置 Rust 支持,但通过插件 + 正确的工具链配置,完全可以胜任日常 Rust 编写、语法高亮、保存自动格式化和基础错误提示。关键不在“装多少插件”,而在于 cargo 和 rustfmt 是否可用、rls 是否弃用、以及 Sublime 插件是否匹配当前 Rust 工具链版本。
确认本地 Rust 工具链已安装且可用
所有 Sublime 插件都依赖命令行工具。如果 cargo 或 rustc 找不到,插件会静默失效。
- 在终端运行
cargo --version和rustc --version,确保输出正常 -
rustfmt必须显式安装:cargo install rustfmt(Rust 1.75+ 默认不自带) - 不要装
rls—— 它已被官方弃用,Rust 1.60+ 起全面转向rust-analyzer - 如需语义补全/跳转/诊断,必须单独下载并运行
rust-analyzer二进制(非 cargo install),并确保它在$PATH中可执行
安装并配置 SublimeLinter-rust
这是最轻量、最稳定的 Rust 语法与编译检查方案,底层调用 cargo check,不依赖 LSP。
- 用 Package Control 安装
SublimeLinter和SublimeLinter-rust - 确保
SublimeLinter-rust的 lint mode 设为load_save(默认),避免编辑时高频触发 - 若报错 “No such file or directory: cargo”,需在 SublimeLinter 设置中显式指定
cargo路径,例如:"paths": {"linux": ["/home/username/.cargo/bin"], "osx": ["/Users/username/.cargo/bin"]} - 它不会检查未保存文件,也不会提示
rustfmt格式问题 —— 这是设计使然,不是 bug
用 RustEnhanced 实现保存自动格式化
RustEnhanced 是目前 Sublime 上对 Rust 支持最完整的插件包,包含构建、运行、格式化、代码片段等,但默认不启用 rustfmt。
- 安装后,在菜单栏打开 Preferences → Package Settings → RustEnhanced → Settings
- 将
"rustfmt_on_save": true设为true - 确保
"rustfmt_path"指向正确的二进制,例如"~/.cargo/bin/rustfmt"(注意 Sublime 不展开~,建议写绝对路径) - 若保存无反应,检查控制台(
Ctrl+`)是否有rustfmt: command not found类错误 - 它不提供实时 LSP 功能(如 hover、goto definition),这些得靠
rust-analyzer+ LSP 插件配合
想用 rust-analyzer?搭配 LSP 插件而非 RLS
Sublime 的 LSP 插件支持 rust-analyzer,但配置比 VS Code 更易出错。
- 先安装
LSP插件(不是 LSP-json 或 LSP-css) - 下载对应平台的
rust-analyzer二进制(从 GitHub releases),赋执行权限,放入$PATH - 在 LSP Settings 中添加:
"rust-analyzer": { "command": ["rust-analyzer"], "enabled": true, "languageId": "rust", "scopes": ["source.rust"], "syntaxes": ["Packages/Rust/Rust.sublime-syntax"] } - 首次打开项目可能卡顿几秒 ——
rust-analyzer需索引Cargo.lock和依赖,耐心等待状态栏出现 “Ready” - 若无补全或跳转,检查 Sublime 控制台是否报 “server crashed” 或 “project root not detected” —— 确保在 Cargo 项目根目录下打开文件夹(不是单个 .rs 文件)
真正卡住人的从来不是插件装不装得上,而是 rust-analyzer 找不到项目根、rustfmt 路径写错、或者误以为 rls 还能用。把终端里跑得通的命令,原样喂给 Sublime,比任何“全自动配置包”都可靠。











