必须用 cargo new 创建 Rust 项目,Sublime Text 仅作编辑器;手动建文件夹+写 Cargo.toml 会缺失 Cargo.lock、git 初始化、src 目录规范等,导致构建失败。

Sublime Text 本身不创建 Rust 项目,cargo new 才是唯一可靠方式;直接在 Sublime 里新建文件夹+手动写 Cargo.toml 会缺失锁文件、git 初始化、目录结构约定等关键要素,后续 cargo run 或 cargo build 极大概率失败。
为什么不能在 Sublime 里“新建 Rust 项目”
Sublime 是文本编辑器,没有项目生成逻辑。所谓“Rust 项目”本质是一套由 cargo 约定的文件结构:Cargo.toml + src/main.rs(或 src/lib.rs)+ 自动生成的 Cargo.lock。手动拼凑容易漏掉:
-
Cargo.lock缺失 → 依赖版本不可重现,CI 或协作时构建失败 -
src/目录权限或命名不规范(如写成SRC/)→cargo拒绝识别 - 没初始化 git →
cargo publish报错,且部分插件(如 rust-analyzer)依赖 git root 判断 workspace 边界 -
Cargo.toml中[package]字段格式错误(如空格缩进不对、缺少edition)→cargo check直接退出
正确流程:终端建项目,Sublime 开文件夹
必须用 cargo 命令行初始化,再让 Sublime 加载整个文件夹:
- 在终端执行:
cargo new my_project --bin(--bin显式声明是可执行项目,避免默认建库项目) - 确认生成内容:
my_project/Cargo.toml和my_project/src/main.rs都存在 - 在 Sublime 中:菜单栏 File → Open Folder…,选中
my_project文件夹(不是单个.rs文件) - 右键任一标签页 → Reveal in Side Bar,检查左侧顶部是否显示
my_project(含Cargo.toml的那一层)
此时 ${project_path} 才能正确解析为项目根目录,Build System 中的 "working_dir":"${project_path:${folder}}" 才有意义。
Build System 配置必须匹配项目类型
可执行项目(--bin)和库项目(--lib)的构建命令不同,硬套模板会报错:
- 可执行项目用:
"shell_cmd": "cargo run",输出可直接看到println!结果 - 库项目用:
"shell_cmd": "cargo build"或"shell_cmd": "cargo test",cargo run会提示no targets specified - 若项目含
[[bin]]多入口(如 CLI 工具),需加--bin参数:"shell_cmd": "cargo run --bin cli_tool" - 调试时想跳过编译检查,加
--quiet:"shell_cmd": "cargo run --quiet",减少干扰输出
常见失败现象与定位点
按下 Ctrl+B 后无反应或报错,优先查这三处:
-
No build system→ Sublime 没识别到当前文件是 Rust:右下角状态栏必须显示 Rust(不是 Plain Text),否则构建系统不触发 -
command not found: cargo→ 控制台执行import os; print(os.environ.get('PATH')),确认含.cargo/bin;Windows 用户注意是%USERPROFILE%\.cargo\bin,且必须加进「系统环境变量」 -
error: no Cargo.toml file found→working_dir错了,检查是否用了${file_path};或根本没通过 Open Folder 加载项目,只是双击打开了src/main.rs
所有配置都依赖「项目根目录被正确加载」这一前提,其他都是细节。漏掉这步,后面每一步都在修幻觉问题。











