Ответ 1
Существует несколько примеров и методов, которые мы можем использовать:
-
Для комментария одной строки с действительными командами Doxygen (например,
\todo
) вы должны использовать/// \todo Some (optional) text
Обратите внимание на три косая черта, а не на обычные две. См. Пункт 3 во втором списке в разделе специальных блоков документации в документации Doxygen. Это можно использовать для добавления новых элементов todo в исходный код.
-
Обычно можно определить пользовательские теги (например,
FIXME
), указав псевдоним в файле конфигурации Doxygen. НапримерALIASES += FIXME="\todo"
который позволит вам написать
\FIXME
в вашем исходном коде, а комментарии с префиксом\FIXME
будут включены в ваш список todo в окончательной документации. Проблема здесь в том, что вы должны префиксные псевдонимы с символом\
(или@
) и начинайте комментарий с трех ведущих косых черт, которые, если вы хотите оставитьFIXME
в своем коде, как они есть, не является вариантом. -
Наконец, альтернативный метод и то, что, по вашему мнению, вы ищете, состояло бы в предварительной обработке исходных файлов с помощью
INPUT_FILTER
конфигурационный файл. Этот параметр определяет команду, которая применяется к каждому из ваших исходных файлов, прежде чем Doxygen создаст документацию, поэтому мы можем определить команду, которая заменяет экземплярыTODO
иFIXME
действительной разметкой Doxygen.INPUT_FILTER = "sed -e 's/\/\/.*FIXME/\/\/\/ \\todo/'"
Этот фильтр заменяет все экземпляры
// FIXME
(любой пробелом (или без) пробела между//
иFIXME
) с помощью/// \todo
. Эта подстановка выполняется только с помощью Doxygen: ваши исходные файлы не изменяются на диске.
Примечание. Этот последний момент был вдохновлен принятым ответом на вопрос Получение тегов Doxygen и MSVC TODO для совместной работы. Однако этот ответ использовал опцию конфигурации FILE_VERSION_FILTER
, а не INPUT_FILTER
. Я думаю, что последнее (INPUT_FILTER
) на самом деле более уместно. Кроме того, команда sed
, используемая в этом ответе, не работает для меня.