我正在构建一个基于Qt的项目,并且目标文档中找到了许多Qt类。
我该如何告诉Doxygen禁用一些类的文档生成?例如Q.*?
我该如何告诉Doxygen禁用一些类的文档生成?例如Q.*?
我正在构建一个基于Qt的项目,并且目标文档中找到了许多Qt类。
我该如何告诉Doxygen禁用一些类的文档生成?例如Q.*?
在假设你所拥有的东西类似于这样的情况下工作:(问题在这方面有点不清楚)
/**
* Some documentation for class X
*/
class X: public osg::Drawable {
...
}
你的问题是想要包含类X
的文档,但不想包含类osg::Drawable
的文档。 正确的技术是使用EXCLUDE_SYMBOLS
。例如,在上面的情况下使用:
EXCLUDE_SYMBOLS = osg::Drawable
如果你想更加严格一些,可以使用
EXCLUDE_SYMBOLS = osg::Drawable \
Drawable
通配符也是被允许的,因此这个也可行。
EXCLUDE_SYMBOLS = osg::*
如果 \internal
标记无效,您可以尝试使用\cond ... \endcond
标签来标记要从 Doxygen 中隐藏的代码部分。
如果您想要排除特定文件,则可以在 Doxyfile 配置文件中使用 EXCLUDE_PATTERNS
变量。
这不是最好的方法,但可以使用private
标记文档的某些部分(类、成员等)。这将防止代码片段被包含在输出文档中。(我使用此方法隐藏复制/移动构造函数/运算符,以避免出现在API文档中。)
/*!
* \brief This is included.
*/
class API
{
public:
/*!
* \brief So is this.
*/
API() noexcept;
/// \private
~API() noexcept; /* But this not, though technically public. */
private:
int m_version; /* This is not either. */
}
需要注意的是,这是针对PHP的Doxygen扩展,根据文档,它们不应该被使用。
对于PHP文件,有许多额外的命令可以在类内部使用,使成员公开、私有或受保护,即使语言本身不支持此概念。
另一个选择是使用mouviciel提供的解决方案,但这至少需要两行。
虽然不是针对详细问题的正确答案,但对于问题标题的读者(比如我)可能会有所帮助。它也适用于类!