如何让货物自动重新编译已更改的文件?

aij*_*aij 16 rust rust-cargo

我听说货物有能力自动重新编译已更改的源文件,但我很难弄清楚如何告诉它这样做.

现在,我手动运行cargo buildcargo run每次要输入检查我的代码.我宁愿简单地保存文件并在邻近的终端窗口中查看结果.

如果你仍然不知道我在说什么,我正在寻找相当于sbt ~compile或等的货物sbt ~run.

这似乎很难找到,所以我开始怀疑它是否真的得到了支持.可能有人说货物可以检测到已更改的文件并重新编译它们的意思是货物可以检测到未更改的文件并避免重新编译它们,例如make.

rob*_*nst 15

如果您正在处理一个持续运行的服务器项目(例如超级,铁等),并且您需要在文件更改时重新启动它,您可以使用cargo watch.安装:

cargo install cargo-watch
Run Code Online (Sandbox Code Playgroud)

然后运行:

cargo watch -x run
Run Code Online (Sandbox Code Playgroud)

有关更多示例,请参阅货物手表README.

或者,您可以使用watchexec.安装它:

cargo install watchexec
Run Code Online (Sandbox Code Playgroud)

然后像这样使用它:

watchexec --restart "cargo run"
Run Code Online (Sandbox Code Playgroud)

  • 谢谢你的watchexec!Cargo-Watch 仅适用于货物。 (2认同)