Документирование с Doxygen. Основные настройки


Deprecated: Function eregi_replace() is deprecated in /hlds/web/u138079p19/code4life.ru/htdocs/wp-content/plugins/wp-note/wp-note.php on line 43

Deprecated: Function eregi_replace() is deprecated in /hlds/web/u138079p19/code4life.ru/htdocs/wp-content/plugins/wp-note/wp-note.php on line 43

Deprecated: Function eregi_replace() is deprecated in /hlds/web/u138079p19/code4life.ru/htdocs/wp-content/plugins/wp-note/wp-note.php on line 43

Deprecated: Function eregi_replace() is deprecated in /hlds/web/u138079p19/code4life.ru/htdocs/wp-content/plugins/wp-note/wp-note.php on line 43

Deprecated: Function eregi_replace() is deprecated in /hlds/web/u138079p19/code4life.ru/htdocs/wp-content/plugins/wp-note/wp-note.php on line 43

Deprecated: Function eregi_replace() is deprecated in /hlds/web/u138079p19/code4life.ru/htdocs/wp-content/plugins/wp-note/wp-note.php on line 43

Deprecated: Function eregi_replace() is deprecated in /hlds/web/u138079p19/code4life.ru/htdocs/wp-content/plugins/wp-note/wp-note.php on line 43

Deprecated: Function eregi_replace() is deprecated in /hlds/web/u138079p19/code4life.ru/htdocs/wp-content/plugins/wp-note/wp-note.php on line 43

Deprecated: Function eregi_replace() is deprecated in /hlds/web/u138079p19/code4life.ru/htdocs/wp-content/plugins/wp-note/wp-note.php on line 43

Deprecated: Function eregi_replace() is deprecated in /hlds/web/u138079p19/code4life.ru/htdocs/wp-content/plugins/wp-note/wp-note.php on line 43

Notice: Функция get_currentuserinfo с версии 4.5.0 считается устаревшей! Используйте wp_get_current_user(). in /hlds/web/u138079p19/code4life.ru/htdocs/wp-includes/functions.php on line 3840

В прошлой статье кратко обозрели генератор документации из комментариев к исходному коду Doxygen, в этот раз разберем его основные настройки. Внутри есть скриншоты с самой программой и описание некоторых настроек.

Название настроек в файле либо программе Doxywizard аналогичны, только в Doxywizard их еще нужно найти во вкладках))

Ниже я приведу настройки, которые мы используем, а также несколько дополнительных настроек, которые мы не используем, но как мне кажется они могут быть важны. Некоторые настройки просто переводил, но большинством из них пользовался.

Статья Документирование Doxygen. Введение

Вкладка Project

Во вкладке Project находятся общие настройки проекта (имя, описание, логотип и прочее).

Вкладка Project, Doxygen
Вкладка Project, Doxygen

DOXYFILE_ENCODING — кодировка файла настроек

PROJECT_NAME — название проекта

PROJECT_NUMBER — номер версии проекта

PROJECT_BRIEF — краткое описание проекта

PROJECT_LOGO — путь до логотипа

OUTPUT_DIRECTORY — путь куда будет сохранена сгенерированная документация

CREATE_SUBDIRS — создать поддиректории для каждого выводимого формата документации

OUTPUT_LANGUAGE — язык документации

BRIEF_MEMBER_DESC — показывать краткое описание членов класса

REPEAT_BRIEF — необходимость краткого описания перед полным

ABBREVIATE_BRIEF — можно ли использовать аббревиатуры для формирования краткого описания, к примеру $name заменится на определенную сущность (которую надо было определить ранее)

ALWAYS_DETAILED_SEC — всегда формировать только полное описание, даже если присутствует короткое

INLINE_INHERITED_MEMB — генерировать всю иерархию классов

FULL_PATH_NAMES — указывать полный путь описываемого файла

SHORT_NAMES — формирование файлов документации с короткими именами

JAVADOC_AUTOBRIEF — комментарий стиля JavaDoc (//* либо /**  */), первая строка в комментарии будет являться кратким описание, @brief использовать необязательно, наличие комментария перед кодом обязательно

QT_AUTOBRIEF — комментарий стиля QT (//! либо /*! ), короткая документация до точки в любом комментарии, а после точки идет подробное документирование если надо, комментарий может находится перед кодом, либо после (//!< либо /*!< */)

MULTILINE_CPP_IS_BRIEF — многострочный C++ комментарий с кратким описанием (//! либо ////)

INHERIT_DOCS — документирование недокументированных переопределенных членов классов наследников из родительских классов

SEPARATE_MEMBER_PAGES — формировать документацию для каждого члена класса на отдельной странице

TAB_SIZE — количество пробелов в символе табуляции

OPTIMIZE_OUTPUT_FOR_C — документация только для C языка, либо очень похожего на C, выполняются некоторые оптимизации свойственные этому языку

OPTIMIZE_OUTPUT_JAVA — документация только для JAVA языка, либо очень похожего на JAVA, выполняются некоторые оптимизации свойственные этому языку

OPTIMIZE_FOR_FORTRAN — документация только для FORTRAN языка, либо очень похожего на FORTRAN, выполняются некоторые оптимизации свойственные этому языку

OPTIMIZE_OUTPUT_VHDL — документация только для VHDL языка, либо очень похожего на VHDL, выполняются некоторые оптимизации свойственные этому языку

MARKDOWN_SUPPORT — поддержка markdown форматирования

AUTOLINK_SUPPORT — поиск ссылки на слова, можно в комментариях запретить поиск ссылки для определенных слов указав перед ними %

DISTRIBUTE_GROUP_DOC — копировать описание для всех членов группы по первому описанию, если для них не указаны комментарии

GROUP_NESTED_COMPOUNDS — если класс входит в группу то и все его вложенные классы тоже будут входить в эту группу

SUBGROUPING – группировка членов класса, к примеру по признаку public

INLINE_GROUPED_CLASSES — показывать в текущей группе классы, структуры, объединения входящие в одну и ту же группу, иначе они будут на отдельных страницах

Вкладка Build

Во вкладке Build содержаться настройки построения документации из комментариев к исходному коду.

Вкладка Build, Doxygen
Вкладка Build, Doxygen

EXTRACT_ALL — документация всех сущностей в исходном коде, даже если они не содержат комментариев

EXTRACT_PRIVATE — в документацию будут включены все данные классов в private

EXTRACT_STATIC — документация всего того что static

EXTRACT_LOCAL_CLASSES — документировать классы объявленные в cpp (то есть в реализации), иначе только в заголовочных файлах (h)

HIDE_UNDOC_MEMBERS — скрывать недокументированные члены класса, иначе они будут в файлах документации но не задокументированные

HIDE_UNDOC_CLASSES — скрывать недокументированные классы

HIDE_FRIEND_COMPOUNDS — скрыть все дружественные объявления

HIDE_IN_BODY_DOCS — скрыть всю документацию внутри функции, иначе она попадет в детальное описание функции

CASE_SENSE_NAMES — имена файлов в смешанном регистре, иначе имена файлов только в верхнем регистре

HIDE_SCOPE_NAMES — скрывать область видимости данных

SHOW_GROUPED_MEMB_INC — для каждого сгруппированного члена включать информацию о файле для использования

INLINE_INFO — добавить inline для тех кто его использует

SORT_MEMBER_DOCS — сортировать члены класса в алфавитном порядке

SORT_BRIEF_DOCS — сортировать краткие описания по алфавиту

SORT_BY_SCOPE_NAME — сортировка классов в соответствии с названиями пространств имен

SORT_GROUP_NAMES — сортировка имен в алфавитном порядке, иначе в порядке определения

GENERATE_TODOLIST — генерация списка TODO то есть «сделать» (при помощи комментария \todo)

GENERATE_TESTLIST — генерация списка тестов (при помощи комментария \test)

GENERATE_BUGLIST — генерация списка багов/ошибок (при помощи комментария \bug)

GENERATE_DEPRECATEDLIST — генерация списка «устаревшее» (при помощи комментария \deprecated)

SHOW_USED_FILES — генерация списка файлов участвовавших в создании документации

SHOW_FILES — генерация страницы файлов (имена будут задействованы в быстром поиске и иерархии)

SHOW_NAMESPACES — генерация страницы пространств имен (имена будут задействованы в быстром поиске и иерархии)

LAYOUT_FILE — файл настроек doxygen. Для создания макета, необходимо вызвать doxygen  опцией -l

Вкладка Messages

Во вкладке Messages содержаться настройки сообщениями, которые может выдавать doxygen при генерации документации (включить/выключить сообщения, вывод в файл и прочее).

Вкладка Messages, Doxygen
Вкладка Messages, Doxygen

QUIET — отключает вывод сообщений

WARNINGS — включение предупреждений

WARN_IF_UNDOCUMENTED — показывать предупреждения для недокументированных членов, если включен EXTRACT_ALL то WARN_IF_UNDOCUMENTED автоматически будет отключен

WARN_IF_DOC_ERROR — показывать предупреждений ошибок документации (к примеру недокументированные аргументы функции или неправильные их имена в документации)

WARN_NO_PARAMDOC — показывать предупреждения о функциях которые документированы, но у которых не все задокументировано (к примеру не все параметры имеют документирование, или нет документирования возвращаемого значения)

WARN_AS_ERROR — остановка генерации при обнаружении предупреждения

WARN_LOGFILE — файл вывода ошибок

Вкладка Input

Во вкладке Input необходимо указать пути и файлы по которым будет строится документация, а также есть ряд других настроек (исключения, кодировка и прочее).

Вкладка Input, Doxygen
Вкладка Input, Doxygen

INPUT — имена файлов с исходным кодом, либо каталоги с таковыми файлами

INPUT_ENCODING — кодировка файлов, все файлы должны быть в единой кодировке

FILE_PATTERNS — если в INPUT указаны каталоги, то doxygen возьмет файлы в соответсвии с шаблонами в FILE_PATTERNS

RECURSIVE — искать подкаталоги

EXCLUDE — исключаемые файлы и/или каталоги

Вкладка HTML

Во вкладке HTML настраивается вывод документации в html документы (путь, расширение и прочее).

Вкладка HTML, Doxygen
Вкладка HTML, Doxygen

GENERATE_HTML — генерировать документацию в html

HTML_OUTPUT — путь для вывода готовой документации

HTML_FILE_EXTENSION — расширения файлов документации

HTML_TIMESTAMP — генерировать колонтитул для каждой страницы документации с датой генерации

GENERATE_TREEVIEW — генерировать иерархию, если включено то будет создана боковая панель с иерархией

ENUM_VALUES_PER_LINE — количество значений enum в одной строке (максимальное значение 20)

TREEVIEW_WIDTH — ширина (в пикселях) боковой панели с иерархией (минимально 0, максимально 1500)

SEARCHENGINE — генерировать окно поиска (работает на основе JavaScript и DHTML)


Статья будет дорабатываться))

 

Поделиться:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*