Исключить некоторые классы из документации по Doxygen - PullRequest
16 голосов
/ 16 сентября 2009

Я строю проект на основе Qt, и многие классы Qt находятся в целевой документации.

Как я могу сказать Doxygen отключить генерацию документации для некоторых классов? Для Q. *?

Ответы [ 3 ]

22 голосов
/ 17 марта 2010

Работая в предположении, что у вас есть что-то вроде этого: (Вопрос немного неясен в этом отношении)

/**
 * 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::*
11 голосов
/ 21 сентября 2009

Если тег \internal не работает, вы можете попробовать теги \cond ... \endcond для пометки части кода, которая будет скрыта от Doxygen.

EDIT

Если вы хотите исключить определенные файлы, вы можете использовать переменную EXCLUDE_PATTERNS в Doxyfile файле конфигурации.

0 голосов
/ 06 декабря 2018

Это не лучший способ, но можно пометить некоторую часть документации (класс, члены, ...) с помощью 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. */
}

Следует отметить, что это расширение Doxygen для PHP, которое согласно документации не должно использоваться.

Для файлов PHP существует ряд дополнительных команд, которые можно использовать внутри классов, чтобы сделать члены открытыми, закрытыми или защищенными, даже если сам язык не поддерживает это понятие.

Другой вариант - использовать предоставленное решение mouviciel , но для этого требуется как минимум две строки.


Хотя это и не правильный ответ на подробный вопрос, он может быть полезен для читателей названия вопроса (таких как я). Это работает и для classe!

...