Можно ли выбрать, какое предупреждение Doxygen показать?

Doxygen показывает Compound ? is not documented. предупреждение при строительстве. Для конкретного проекта я не хочу документировать соединения. Чтобы удалить беспорядок, я хочу видеть все другие предупреждения, кроме этого. Есть ли способ очистить выход Doxygen?

3 ответов


Я не думаю, что это возможно, за исключением написания собственного постпроцессора для фильтрации вывода Doxygen. В вашем случае, это не должно быть слишком сложно, просто grep должно быть достаточно:

doxygen <config_file> | grep -v "warning: Compound .* is not documented"

Я не совсем уверен, почему Doxygen не предоставляет эту функцию: возможно, это потребует слишком много опций или более сложных опций. Другая возможность заключается в том, что они предположили, что, поскольку вы хотите быть предупреждены, когда что-то не документировано, не должно быть никаких исключений за исключением случаев, когда явно указано в исходном коде (используя \cond и \endcond, например), с обоснованием того, что такое упущение должно решаться только на индивидуальной основе. Или, возможно, никто никогда не просил их включать эту функцию: не стесняйтесь заполнять запрос.


Я думаю, что вы ищете это if, ifnot и endif команды. Просто выберите подходящую метку, а затем используйте правильный тег. Бывший.:

/*
* \if DISPLAY_COMPOUND
* Compound doc.
* ...
* \endif
*/

doxygen оценит, знает ли он об этом ярлыке, а если нет, он проигнорирует любой комментарий до \endif команда в том же блоке комментариев

затем вам нужно определить (или нет) эту метку в вашем doxyfile в ENABLED_SECTIONS.

#comment the next line if you don't want to document Compound
ENABLED_SECTIONS = DISPLAY_COMPOUND

посмотреть \cond и \endcond команды тоже похожи, но не совсем одинаковые (они включают или отключают целые разделы файла, а не только один блок комментариев).


вы можете отключить предупреждения в конфигурации doxygen. Смотрите здесь: помощи Doxygen документации

мой любимый: WARN_IF_UNDOCUMENTED = нет