3个版本
| 0.1.3 | 2022年8月11日 |
|---|---|
| 0.1.2 | 2022年8月10日 |
| 0.1.0 | 2022年8月10日 |
#1342 in 过程宏
30KB
634 行
croc-look
croc-look是一个工具,通过以下两个特性使测试和调试过程宏变得更容易:
- 将特定生成的代码打印到控制台
- 在Rust代码上提供宏输出的实时视图
croc-look允许您缩小搜索范围,并提供生成的代码的实时视图。
安装
croc-look需要安装夜间工具链 安装,不需要它是默认工具链
rustup install nightly
然后
cargo install croc-look
标志
--trait-impl或-t:定义您想要查看展开的特质,这将是要实现 derive 宏的特质,或者可以是你想要查看展开的任何其他特质。例如
#[derive(Clone, Debug, MyTrait)]
struct<T> {
...
}
因此,此标志的值可以是 Clone、Debug 或你的 MyTrait derive 宏实现的任何其他特质
-
--impl-for或-i:这有助于您缩小对上述标志中提到的特质实现的搜索。如果您有多个派生您的特质的结构体,则可以执行croc-look --trait-impl Clone -i <your-struct-name>并获取您想要的结构的实现。 -
--structure或-s:如果您想展开一个 特定的 结构体。当宏正在操作结构体本身时,例如添加字段等,这非常有用。 -
--path或-p:需要安装 cargo expand。使用cargo expand <path>内部命令来缩小代码到模块级别。例如croc-look -p cmd -t Clone -i Context(这将在 cmd 模块中查找 Context 的 Clone 实现) -
--function或-f:用于展开函数。 -
--binary或-b:用于展开cargo --bin BINARY,如果未指定,则使用--lib。 -
--watch或-w:这会开始监视你想要监视的目录/文件,同时也会打开一个支持在 proc-macro 项目中实时重载更改的交互式 TUI。
这与 cargo expand 有何不同?
cargo expand 不允许你查看整个 trait 实现,以检查泛型或监视特定的代码块。croc-look 的动机是将你的搜索范围缩小到一个简单的单个主体,并减少混乱。
你可以使用 --path 标志来使用 cargo expand <path> 来缩小到模块级别的搜索。
许可证
在 MIT 许可证 下授权。依赖关系
~18–31MB
~374K SLoC