Rust 如何在通过Cargo生成文档时包含专用模块?
我目前正在做一个关于生锈和货物的项目。它工作得很好,但我遇到了一个小问题:对于代码重用,我的大多数项目都在一个lib板条箱中。在这个箱子里,很多东西都是私人的。所以,当我做Rust 如何在通过Cargo生成文档时包含专用模块?,rust,rust-cargo,Rust,Rust Cargo,我目前正在做一个关于生锈和货物的项目。它工作得很好,但我遇到了一个小问题:对于代码重用,我的大多数项目都在一个lib板条箱中。在这个箱子里,很多东西都是私人的。所以,当我做货物单据时,我只有公共的、导出的文档。。。这实际上很好,因为很容易看到哪些是导出的,哪些不是 但我必须承认:我错过了整个项目的完整文档,用于开发目的 默认情况下,二进制文件的文档包括二进制文件箱中的私有项目 您现在可以使用cargo doc--记录私人物品 以前的版本 今天您可能无法处理货物,如果您直接使用rustdoc,则有
货物单据时,我只有公共的、导出的文档。。。这实际上很好,因为很容易看到哪些是导出的,哪些不是
但我必须承认:我错过了整个项目的完整文档,用于开发目的
默认情况下,二进制文件的文档包括二进制文件箱中的私有项目
您现在可以使用cargo doc--记录私人物品
以前的版本
今天您可能无法处理货物,如果您直接使用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`
然后,向命令添加--无默认值--passs strip hidden--passs collapse docs--passs 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
这可以通过在--
之后将参数传递给rustdoc来实现,例如
cargo rustdoc -- \
--no-defaults \
--passes strip-hidden \
--passes collapse-docs \
--passes unindent-comments \
--passes strip-priv-imports
根据@Shepmaster的回答,无需手动粘贴副本。现在更简单,只需使用:
cargo rustdoc -- --document-private-items
使用货物记录私人物品:
cargo doc --document-private-items
如果您不想显示转口,您还需要添加--passes strip priv imports
。rustdoc
需要针对实际的软件包运行,因此无法使用。最好使用cargo doc--document private items
,这也适用于虚拟舱单。警告:“无默认值”标志被视为不推荐使用的标志
。对于过程
,相同。警告建议您在项目中添加一个.cargo/config
文件,如果您希望它是默认的:[build]rustdocflags=[“--document private items”]
现在不是最好的解决方案。考虑用一个更新的解决方案接受不同的答案。