仅记录某些代码,而忽略所有其他代码?

时间:2019-06-10 09:24:31

标签: c# documentation doxygen documentation-generation

我目前在C#项目上使用doxygen,但是如果可以在与C#一起使用的另一个文档生成器中找到此功能,那么我很感兴趣。

我希望文档生成器忽略所有注释,并使用带有某些注释关键字的代码进行编码。我要的功能与doxygen \condendcond关键字相反。例如,类似:

///
/// This comment and variable declaration is ignored by the documentation
/// generator.
///
public double MySecretPublicVar;

/// /doc-this
/// This comment and variable declaration is documented by the documentation
/// generator.
/// /doc-this-end
public double MyDocumentedVar;

2 个答案:

答案 0 :(得分:0)

VSdocman工具(我正在生产该工具的公司)可以使用regex filters灵活地进行操作。在您的情况下,您只需为XML注释的签名指定“包含”过滤器即可。如果要匹配其中的任何“ key_word1”或“ key_word2”,请使用如下正则表达式: 。* my_keyword1 | my_keyword2。*

enter image description here

答案 1 :(得分:0)

与所需功能最接近的匹配项是@internal命令。它仍然与您想要的相反,但是比将所有内容包装在条件块中可能更方便。您需要注意@internal是doc块中的第一件事。

此外,您可能需要设置配置HIDE_UNDOC_MEMBERSHIDE_UNDOC_CLASSES才能从文档中真正删除MySecretPublicVar(因为如果设置为internal,则只会删除文档)。并确保将EXTRACT_ALL设置为false。

即使这样,您可能仍需要注意,要内部存储的内容不会意外泄漏。所以,是的,对于您的用例来说,doxygen并不是很合适/不方便,或者至少需要一些努力才能做到。