#cargo-toml #cargo #cargo-subcommand #crates #example #cli

app cargo-examples

运行任何本地克隆的crate的所有示例

7 个版本 (4 个重大更新)

0.5.0 2023年3月10日
0.4.0 2023年1月16日
0.3.0 2022年12月26日
0.2.1 2022年11月13日
0.1.1 2022年9月30日

#353Cargo 插件

Download history 13/week @ 2024-03-13 28/week @ 2024-03-20 6/week @ 2024-03-27 11/week @ 2024-04-03 19/week @ 2024-04-10 56/week @ 2024-04-17 14/week @ 2024-04-24 14/week @ 2024-05-01 3/week @ 2024-05-08 11/week @ 2024-05-15 7/week @ 2024-05-22 45/week @ 2024-05-29 32/week @ 2024-06-05 92/week @ 2024-06-12 111/week @ 2024-06-19 60/week @ 2024-06-26

每月下载量 307 次

MIT/Apache

12KB
171

cargo-examples

cargo-examples 是一个 cargo 子命令,它允许您运行任何本地克隆的crate中的所有示例。

我创建这个工具的主要动机是,当检出库或二进制文件时,我想运行所有示例,以便我可以快速交互式地了解crate的内部工作原理。

此工具支持以与 cargo run --example <name> 相同的方式运行示例,这意味着它可以运行 examples 目录中的单个文件示例以及 examples 目录中指定的基于清单的示例。

除了这个 cargo-examples 还允许您从 examples 目录运行子项目示例,这意味着位于 examples 目录中的具有 Cargo.toml 的子项目目录,这在许多 Rust 生态系统项目中都可以看到,Cargo 无法直接使用 cargo run --example <name> 运行。

单个文件示例
<project>/examples/foo.rs

多文件示例
<project>/examples/bar/main.rs

子项目示例
<project>/examples/baz/Cargo.toml

基于清单的示例 [[example]]Cargo.toml

安装

您可以使用 cargo 安装此工具

cargo install cargo-examples

用法

克隆您喜欢的crate,在仓库中执行 cd 并运行 cargo examples

默认情况下,cargo examples 将按顺序运行crate中的所有示例。

您可以使用命令行选项来修改示例的运行方式

Cargo subcommand to run all examples for any locally cloned crate
USAGE:
    cargo examples [OPTIONS] [-- <CARGO_ARGS>...]
ARGUMENTS:
    [CARGO_ARGS]...  Pass these arguments along to cargo when running
OPTIONS:
        --manifest-path <FILE>  Path to Cargo.toml
    -l, --list                  List *all* examples and print them out before running any
    -p, --print                 Print example name before running
    -f, --from <EXAMPLE>        Run example starting with <EXAMPLE>
    -n, --no-run                Do not run any examples, useful when combined with `--list`, or `--from` + `--print`
    -s, --skip <EXAMPLE>        Skip <EXAMPLE> when running. (--skip=example1,example2)
    -F, --features <FEATURES>   Run examples with <FEATURES> enabled. (--features=feature1,feature2)
    -h, --help                  Print help
    -V, --version               Print version

依赖项

~1.7–2.5MB
~48K SLoC