20

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

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

4

3 回答 3

26

在假设您拥有的东西是这样的情况下工作:(在这方面问题有点不清楚)

/**
 * 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::*
于 2010-03-17T20:05:16.473 回答
12

如果\internal标签不起作用,您可以尝试\cond ... \endcond使用标签将部分代码标记为对 Doxygen 隐藏。

编辑

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

于 2009-09-21T09:23:39.693 回答
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 扩展,根据文档,不应使用它们。

对于 PHP 文件,有许多额外的命令可以在类中使用,以使成员成为公共、私有或受保护的,即使语言本身不支持这个概念。

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


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

于 2018-12-06T11:09:40.100 回答