从命令行打印模块和类型的路径
如何把Rust的各种模块和类型的路径作为一个shell命令打印出来?
一些cargo工具提供一个选项,可以传入一个模块路径,将操作限定在该段代码区域。
例如,cargo expand 接受 cargo expand mylib::module1。而 cargo test 也接受类似的模块路径。
我希望有一个假设的命令,比如 cargo print-modules,它可能输出如下内容
$ cargo print-modules
mylib
mylib::module1
mylib::module1::my_const
mylib::module2
mylib::module2::my_func
有时我不确定路径的语法是什么(是 mylib::module1 吗?是 ::module1?是 module1?还是 crate::module1?)。
我想查看所有可用的模块和类型路径。
解决方案
两种常见的做法是使用 cargo doc,或者触发一个编译错误以在错误信息中看到模块名称。
cargo doc --open
或引入一个编译错误并执行 cargo check。
如果你想要第三方插件,那么 cargo-modules 可能会有帮助。例如
$ cargo install cargo-modules
$ cargo modules structure
站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。