我目前正在与Rust and Cargo合作项目。它运行良好,但是我遇到了一个小问题:对于代码重用,我的大部分项目都在一个lib包中。在这个箱子里,很多东西都是私人的。所以当我做cargo doc
时,我只是有公开的文档,出口的东西...这实际上很棒,因为很容易看出什么是出口,什么不是。如何通过Cargo生成文档时包含私有模块?
但我不得不承认:我错过了整个项目的完整的文档,为发展目的...
我目前正在与Rust and Cargo合作项目。它运行良好,但是我遇到了一个小问题:对于代码重用,我的大部分项目都在一个lib包中。在这个箱子里,很多东西都是私人的。所以当我做cargo doc
时,我只是有公开的文档,出口的东西...这实际上很棒,因为很容易看出什么是出口,什么不是。如何通过Cargo生成文档时包含私有模块?
但我不得不承认:我错过了整个项目的完整的文档,为发展目的...
这可以通过将参数传递给rustdoc完成后, --
,例如。
cargo rustdoc -- \
--no-defaults \
--passes strip-hidden \
--passes collapse-docs \
--passes unindent-comments \
--passes strip-priv-imports
根据@ Shepmaster的回答,不需要手动复制粘贴。
您可能无法与今天货做,有一个解决办法,如果你使用rustdoc直。
运行cargo doc -v
并记它运行rustdoc命令:
$ cargo doc -v
Compiling docz v0.0.1 (file:///private/tmp/docz)
Running `rustdoc src/lib.rs -o /private/tmp/docz/target/doc --crate-name docz -L dependency=/private/tmp/docz/target/debug -L dependency=/private/tmp/docz/target/debug/deps`
然后,添加--no-defaults --passes strip-hidden --passes collapse-docs --passes unindent-comments
的命令:
rustdoc src/lib.rs -o /private/tmp/docz/target/doc --crate-name docz \
-L dependency=/private/tmp/docz/target/debug \
-L dependency=/private/tmp/docz/target/debug/deps \
--no-defaults \
--passes strip-hidden --passes collapse-docs --passes unindent-comments
现在这是简单,只需使用:
cargo rustdoc -- --document-private-items
非常感谢,它的工作原理就像我所希望的。 – 2015-04-03 20:57:32
如果你不想显示重新导出,你也可以添加'--passses strip-priv-imports'。 – 2016-09-01 03:53:43