sublime text 4 配置 rust 编译运行环境需满足三条件:cargo/rustc 在 sublime 进程 path 中可用、.rs 文件右下角手动设为 rust(匹配 source.rust)、构建系统配对 shell_cmd/working_dir/file_regex 并手动启用;缺一即 ctrl+b 静默失败或报“no build system”。

Sublime Text 4 本身不编译 Rust,所谓“配置编译运行环境”,就是让 cargo 或 rustc 能在 Sublime 进程里被调用、文件被识别为 Rust、错误能跳转、构建命令能跑通——缺一环,Ctrl+B 就静默失败或报 No build system。
验证 cargo 和 rustc 在 Sublime 内真正可用
终端里能跑不等于 Sublime 里能跑。Sublime 启动时读的是自己的环境变量,和 shell 配置无关。很多用户卡在这一步却以为是插件问题。
- 按
Ctrl+`打开 Sublime 控制台,输入:import os; print(os.environ.get('PATH'))
确认输出中包含.cargo/bin路径(如/Users/xxx/.cargo/bin或C:\Users\xxx\.cargo\bin) - Windows 用户:必须把
%USERPROFILE%\.cargo\bin加进「系统环境变量」,加完彻底退出 Sublime(不是关窗口),再重开 - macOS/Linux 用户:GUI 启动的 Sublime 不加载
~/.zshrc等配置;推荐从终端用subl启动,或确保~/.cargo/bin已写入~/.zshrc并执行source ~/.zshrc - 验证失败时,别折腾插件——先重装 rustup,再跑
cargo --version和rustc --version
右下角必须显示 Rust,不是 Plain Text
Sublime 全靠这个标识匹配 source.rust selector,语法高亮、构建系统、LSP 补全都依赖它。选错就全挂。
- 打开任意
.rs文件,点右下角状态栏(显示Plain Text的地方),手动选Rust - 如果列表里没有
Rust,说明插件没加载:用 Package Control 安装RustEnhanced(不是Rustby rust-lang),二者共存会冲突,导致状态栏卡死在Plain Text - 装完后进
View → Syntax → Rust → Rust,设为默认,避免每次手动切 - 别信“自动识别”——Sublime 不会猜,
.rs文件默认就是Plain Text,不手动选,selector就不匹配,构建系统根本不会触发
构建系统必须配对 shell_cmd、working_dir 和 file_regex
网上抄的 JSON 常漏关键字段,导致 cargo 找不到 Cargo.toml,或错误信息无法双击跳转。推荐优先用 cargo,而不是裸调 rustc。
- 用
"shell_cmd": "cargo run",不是"cmd":前者走系统 shell,能复用 PATH 和别名;后者直调进程,Windows 上空格路径大概率崩 -
"working_dir": "${project_path:${folder}}"必须写:否则cargo在当前文件目录执行,找不到项目根下的Cargo.toml,直接报no Cargo.toml found - 单文件快速测试可改用:
"shell_cmd": "rustc $file -o $file_path/$file_base_name"
但只适用于含fn main() { }的独立文件 - 改完构建系统后,必须手动启用:菜单栏
Tools → Build System → Rust勾选你刚写的那个,Sublime 不会自动重载
rust-analyzer 必须用绝对路径,且不能靠 cargo install
cargo install rust-analyzer 已废弃,rustup component add rust-analyzer 在 macOS 和部分 Linux 上常静默失败。LSP 插件找不到可执行文件,就直接放弃连接。
- 去 rust-lang/rust-analyzer/releases 下载对应平台的二进制(如
rust-analyzer-x86_64-unknown-linux-gnu) - 解压后得到单个无后缀可执行文件,放进
/usr/local/bin/rust-analyzer(Linux/macOS)或%USERPROFILE%\.cargo\bin\rust-analyzer.exe(Windows) - 终端运行
rust-analyzer --version验证;Sublime 的 LSP 设置里"command"必须写绝对路径,不能只写["rust-analyzer"] - 常见静默失效:LSP 设置里
"scopes": ["source.rust"]和"syntaxes": ["Packages/Rust/Rust.sublime-syntax"]必须和右下角选中的语法严格对应
最常被忽略的点是:Sublime 启动时环境变量固化,改完 PATH 或装完 rustup 后,必须彻底退出再重开;以及右下角语法标识没手动切对,整个构建链就断在起点——这两处不解决,后面所有配置都是白忙。











