从doxygen文档中排除一些类

时间:2009-09-16 17:58:10

标签: doxygen

我正在构建一个基于Qt的项目,并且在目标文档中找到了许多Qt类。

如何告诉Doxygen禁用某些类的文档生成?对于Q。*?

3 个答案:

答案 0 :(得分:22)

假设你拥有的东西是这样的:(问题在这方面有点不清楚)

/**
 * 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::*

答案 1 :(得分:11)

如果\internal标记不起作用,您可以尝试使用\cond ... \endcond标记来标记要从Doxygen隐藏的部分代码。

修改

如果要排除特定文件,可以在 Doxyfile 配置文件中使用EXCLUDE_PATTERNS变量。

答案 2 :(得分:0)

这不是最好的方法,但是可以用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扩展,根据documentation,不应使用它们。

  

对于PHP文件,有许多其他命令,即使该语言本身不支持此概念,也可以在类内部使用这些命令将成员设为公共,私有或受保护。

另一种选择是使用提供的解决方案mouviciel,但至少需要两行。


尽管不是针对详细问题的正确答案,它可能对问题标题的读者(例如我)有所帮助。它也适用于课堂!