sublime text 本身不编译 rust,也不内置调试器;所谓“调试设置”实际是组合 cargo run / cargo test 构建 + rust-analyzer 语义分析 + 手动插入 dbg!() 或 println!() 观察输出——真要断点单步,得切到 vs code 或 clion。

Sublime Text 本身不编译 Rust,也不内置调试器;所谓“调试设置”实际是组合 cargo run / cargo test 构建 + rust-analyzer 语义分析 + 手动插入 dbg!() 或 println!() 观察输出——真要断点单步,得切到 VS Code 或 CLion。
验证 cargo 和 rustc 在 Sublime 内部是否真正可用
终端里能跑 cargo --version ≠ Sublime 里能调用。GUI 启动的 Sublime 不加载 shell 配置(如 ~/.zshrc),PATH 是隔离的。
- 按
Ctrl+`打开 Sublime 控制台,执行:import os; print(os.environ.get('PATH'))确认输出中包含~/.cargo/bin(macOS/Linux)或%USERPROFILE%.cargoin(Windows) - macOS/Linux:确保
~/.cargo/bin已写入 shell 配置并执行过source ~/.zshrc;更可靠的是从终端启动:subl . - Windows:把
%USERPROFILE%.cargoin加进「系统环境变量」(不是用户变量),加完必须右键任务栏图标 → 「退出」,再重开 Sublime - 测试命令是否真通:
import subprocess; subprocess.run(['cargo', '--version'])
若报FileNotFoundError,就是 PATH 没透传过去
构建系统必须配齐 shell_cmd、working_dir 和 file_regex
缺任意一项,Ctrl+B 要么静默失败,要么报错不能跳转。
- 用
"shell_cmd": "cargo run",别用"cmd":前者走 shell,能继承 PATH 和别名;后者直调进程,Windows 上路径含空格时大概率崩 -
"working_dir": "${project_path:${folder}}"必须写死:Cargo 只在含Cargo.toml的目录下工作,${file_path}(比如打开src/main.rs时是src/)会导致error: no Cargo.toml file found -
"file_regex": "^(.+):([0-9]+):([0-9]+):\s*(.*)$"必须配:否则错误日志只是纯文本,双击无法跳转到src/main.rs:5:12那一行;注意反斜杠要双写(JSON 字符串内) - 单文件快速测试?别硬套
cargo run。新建hello.rs直接用:"shell_cmd": "rustc hello.rs && ./hello"(Linux/macOS)或"shell_cmd": "rustc hello.rs && hello.exe"(Windows)
右下角语法必须手动设为 Rust,且 Cargo.toml 要高亮
Sublime 默认把 .rs 当 Plain Text,不手动切,所有功能(高亮、构建、LSP)全失效。
- 打开任意
.rs文件,点右下角状态栏(显示Plain Text的地方)→ 选Rust;若菜单里没有,说明插件没装对:用 Package Control 装Rust(by rust-lang),**不是**RustEnhanced(二者共存会卡死) -
Cargo.toml默认也是Plain Text:装官方TOML插件(作者 sublimelsp 或 braver),安装后**必须重启 Sublime**,否则右下角不出现TOML选项 - 重启后打开
Cargo.toml,右下角应显示TOML;若仍不行,按Ctrl+Alt+Shift+P看是否输出source.toml—— 没这个 scope,rust-analyzer 就读不到依赖信息
rust-analyzer 必须用绝对路径启动,且不能依赖 cargo install
2026 年起 cargo install rust-analyzer 已废弃,rustup component add rust-analyzer 在 macOS/Linux 上常静默失败。
- 去 GitHub releases 下载对应平台二进制(如
rust-analyzer-x86_64-unknown-linux-gnu),解压后得到无后缀可执行文件 - 放进固定路径:
/usr/local/bin/rust-analyzer(Linux/macOS)或C: ools ust-analyzer.exe(Windows),并确保该路径已加入系统 PATH - LSP 配置中
"command"必须写绝对路径:"command": ["/usr/local/bin/rust-analyzer"]
不能只写["rust-analyzer"],否则 PATH 隔离下照样找不到 - 验证:Sublime 控制台运行
import os; print(os.environ.get('PATH')),确认该路径在输出中
最容易被忽略的是:Sublime 的 PATH 隔离、working_dir 必须指向项目根、file_regex 缺失导致错误不可操作、以及 rust-analyzer 必须手动下载+绝对路径配置——这四点没踩准,其余都白搭。











