答案是右下角显示plain text即表明rust语法未加载,需点击切换为rust、确认插件安装(rust-lang)、配置working_dir为${project_path:${folder}}、设置file_regex、确保path包含.cargo/bin。

Sublime Text 里 Rust 文件默认是 Plain Text,不手动切语法模式,后续所有功能——高亮、补全、构建、LSP——全失效。这不是“没配好”,是根本没启动。
右下角状态栏必须点成 Rust,不是靠猜
打开任意 .rs 文件,右下角显示 Plain Text 是正常现象;它不会自动识别。必须手动点击那里,从弹出菜单选 Rust(由 Rust 插件提供,不是 RustEnhanced)。
- 如果菜单里没有
Rust,说明插件没装或冲突:用Package Control装Rust(作者 rust-lang),卸载RustEnhanced——二者共存会导致状态栏卡死在Plain Text - 装完后进
View → Syntax → Rust → Rust,设为默认,避免每次打开都重选 - 这个选择直接影响 Sublime 内部的
selector(如source.rust),构建系统和 LSP 都靠它触发
构建系统里 working_dir 错了,cargo run 直接报错
cargo 必须在含 Cargo.toml 的目录下运行,而 Sublime 默认的 ${file_path} 指向的是当前文件所在目录(比如 src/),不是项目根目录。
- 构建系统 JSON 中必须写:
"working_dir": "${project_path:${folder}}",不是"${file_path}" - 确保你用的是
File → Open Folder打开整个项目文件夹(含Cargo.toml),不是双击单个main.rs - 右键标签页 →
Reveal in Side Bar,确认侧边栏顶部显示的是项目根目录,而不是某层子目录
file_regex 不配,错误就只是日志,没法跳转
编译失败时输出类似 src/main.rs:2:5: error[E0308]: mismatched types,但双击无法跳到对应行——大概率是 file_regex 没设或格式错。
- 构建系统中加这一行:
"file_regex": "^(.+):([0-9]+):([0-9]+):\s*(.*)$"(注意反斜杠要双写) - 漏掉
\s*或写成s*,正则就匹配不上,错误信息变成纯文本 - 这个字段只影响错误解析,不影响构建是否成功,容易被忽略,但一缺就失去可操作性
PATH 在 Sublime 里不可见,cargo 就算终端能跑也调不动
按 Ctrl+` 打开控制台,执行:import os; print(os.environ.get('PATH'))。如果输出里没有 .cargo/bin(Linux/macOS)或 %USERPROFILE%.cargoin(Windows),那 cargo run 必然失败。
- Linux/macOS:确认
~/.cargo/bin已写入~/.zshrc(或你实际用的 shell 配置),并执行过source ~/.zshrc;更稳的方式是用终端启动:subl . - Windows:把
%USERPROFILE%.cargoin加进「系统环境变量」(不是用户变量),然后彻底退出 Sublime(任务栏右键 → 退出),再重开 - 加
"shell": true到构建系统里,能让命令走 shell 启动,继承完整 PATH,比硬写绝对路径更可靠
最常被绕过的其实是状态栏那一秒的手动切换——很多人以为装完插件就自动生效,结果后面所有配置都在一个没启动的上下文里白忙。











