不能。sublime text 本身只是编辑器,不带编译器或运行时,需通过 build system 调用系统已安装的 cargo run 来实现运行 rust 代码。

sublime text 能不能直接运行 Rust?
不能。Sublime Text 本身只是编辑器,不带编译器或运行时——它连 cargo 都不调用,更别说链接、构建、执行了。所谓“运行 Rust”,本质是让 Sublime 调用系统已安装的 cargo 或 rustc,并把输出结果显示在面板里。
用 Build System 配 cargo run 最简单
Sublime 的 Build System 是最轻量、最可控的方式,比插件更稳定,也避免插件过期/不兼容 cargo 新版本的问题。
操作步骤:
- 菜单栏选 Tools → Build System → New Build System…
- 清空默认内容,粘贴以下 json(注意路径和 shell 设置):
{ "cmd": ["cargo", "run"], "selector": "source.rust", "working_dir": "${file_path}", "shell": true }
保存为 Rust.sublime-build(自动存到 Packages/User/ 下)
关键点说明:
-
"shell": true必须加,否则 windows 下找不到cargo(PATH 不生效) -
"working_dir": "${file_path}"确保在项目根目录运行,否则cargo run会报no Cargo.toml found - 不要写
"cmd": ["cargo", "run", "--bin", "${file_base_name}"]—— 多余且容易错:Cargo 自动找src/main.rs,手动指定 bin 名反而在 workspace 或多 bin 项目里失效
Build System 常见报错及对应解法
运行后 Build 窗口只显示几行就退出?或者提示一堆红字?大概率是下面几个原因:
-
command not found: cargo:Rust 没装,或没加进系统 PATH;Mac/linux 检查which cargo,Windows 检查环境变量里是否有%USERPROFILE%.cargobin -
Error: no Cargo.toml file found:当前打开的不是项目根目录下的文件;确保你打开的是src/main.rs,且 Sublime 当前工作目录是含Cargo.toml的文件夹(可右键标签页 → Reveal in Side Bar 确认路径) - 编译通过但没输出?检查
main()里有没有println!,以及是否误用了cargo build(只编译不运行)而不是cargo run - 中文乱码(Windows 控制台):Sublime 默认用系统编码,但 Rust 输出 UTF-8;可在 Build System 中加
"encoding": "utf-8",或改用ConEmu/Windows Terminal替代原生 cmd
要不要装 RustEnhanced 插件?
不推荐新用户装。它曾经有用,但现在:RustEnhanced 已停止维护,依赖过时的 racer 和 rls,与当前 cargo 1.70+ 和 rust-analyzer 生态不兼容;启用后反而常导致 Sublime 卡死、高 CPU、语法高亮错乱。
替代方案更实在:
- 代码补全/跳转 → 安装官方支持更好的
rust-analyzer+SublimeLSP插件(需额外配LSP-rust-analyzer) - 格式化 → 绑定快捷键调用
cargo fmt,或用SublimeLSP自动触发 - 仅需运行 → 上面的手动 Build System 就够了,干净、无副作用、更新
cargo后零适配成本
真正容易被忽略的是:Sublime 的 Build System 不会自动检测 Cargo.toml 变更,也不会监听 target/ 目录。改完依赖或配置后,记得手动 cargo clean 再运行,否则可能跑旧二进制。