Notepad++运行Rust代码需先确认cargo --version在终端和NppExec中均能正常输出版本号,否则需修复PATH;再通过NppExec配置npp_save、cd $(CURRENT_DIRECTORY)、cargo run三行脚本实现一键执行,前提是当前目录或其上级存在Cargo.toml。

Notepad++ 本身不能运行 Rust 代码,必须靠 cargo 或 rustc 命令行工具 + NppExec 插件驱动。你本地必须已安装 rustup,且终端里能直接执行 cargo --version —— 否则所有配置都无效。
怎么确认 cargo 已正确安装并可用
这是最关键的前置步骤,90% 的失败都卡在这一步。
- 打开命令提示符(Windows)或终端(macOS/Linux),输入
cargo --version,应返回类似cargo 1.82.0 (a674e2e5e 2024-08-01)的输出 - 在 Notepad++ 中按
F6打开 NppExec 控制台,输入cmd /c cargo --version(Windows)或sh -c "cargo --version"(macOS/Linux),同样要能看到版本号 - 如果报错
'cargo' 不是内部或外部命令,说明系统 PATH 没包含 Rust 的 bin 目录(通常是%USERPROFILE%\.cargo\bin或$HOME/.cargo/bin),需手动添加并重启 Notepad++
怎么用 NppExec 配置 cargo run(推荐用于完整项目)
cargo run 是唯一能处理依赖、增量编译和多文件的可靠方式。它不关心你当前打开的是哪个 .rs 文件,只认 Cargo.toml 所在目录。
- 按
F6→ 粘贴以下三行(注意换行,不要合并成一行):npp_save cd $(CURRENT_DIRECTORY) cargo run
- 点
Save...,命名为Rust - cargo run - 运行前确保:当前文件所在路径或其任意上级目录存在
Cargo.toml;否则会报错error: could not find `Cargo.toml` - 若项目含多个 binary crate(如
src/bin/下有多个.rs),可加参数指定:cargo run --bin mytool
怎么用 rustc 编译单文件(仅限无依赖的 .rs 脚本)
rustc 只适合极简场景:单文件、无 use 外部 crate、不调用 std 以外的模块(比如不用 rand、serde)。
- 按
F6→ 粘贴:npp_save cd $(CURRENT_DIRECTORY) rustc $(NAME_PART).rs ./$(NAME_PART)
- Windows 用户最后一行要改成
$(NAME_PART).exe,否则找不到可执行文件 - 一旦代码里出现
use rand::Rng;这类语句,rustc会直接报错unresolved import,此时必须退回去用cargo - 该方式不生成
Cargo.lock,也不校验 edition 或 target,容易因 Rust 版本升级导致行为不一致
为什么 .rs 文件打开没语法高亮
Notepad++ 默认不识别 .rs 后缀,也不是插件缺失问题——它压根没内置 Rust 语言定义。
- 先手动设置:菜单栏 → 语言 → R → Rust(注意是二级菜单,不是顶层“Rust”项)
- 若没有这个选项,需下载社区维护的
rust.xml,放入%APPDATA%\Notepad++\(Windows)或~/Library/Application Support/Notepad++/(macOS),然后重启 - 即使设置了语言,双击打开仍为纯文本?大概率是文件用了
UTF-8 with BOM编码。用 Notepad++ 另存为 → 编码选UTF-8(去掉 BOM),再重开即可
真正麻烦的不是配置脚本,而是项目结构判断:NppExec 不知道你当前文件属于哪个 crate,$(CURRENT_DIRECTORY) 可能不是 Cargo 项目根目录。遇到报错,第一反应不该是改命令,而是用终端 pwd 和 ls Cargo.toml 确认路径是否对得上。



















