Вы можете запустить Doxygen , чтобы создать исходный браузер на основе HTML.Это не требует, чтобы код был аннотирован документацией в стиле Doxygen.Он работает для нескольких языков, включая C ++ , Java и Markdown (.md
файлы переходят на «Связанные страницы»).
Вот способ настройки и запуска Doxygen из командной строки (протестировано в Linux) ...
## basic
echo -e "SOURCE_BROWSER=YES\n EXTRACT_ALL=YES\n RECURSIVE=YES\n" |doxygen -
xdg-open html/index.html
или
## include diagrams and non-public content -- and launch browser immediately
echo -e "HAVE_DOT=YES\n CALL_GRAPH=YES\n CALLER_GRAPH=YES\n SOURCE_BROWSER=YES\n EXTRACT_ALL=YES\n EXTRACT_PRIVATE=YES\n EXTRACT_STATIC=YES\n RECURSIVE=YES\n SEPARATE_MEMBER_PAGES=YES\n GENERATE_LATEX=NO\n EXCLUDE_SYMLINKS=YES" |doxygen - && chromium-browser --new-window html/index.html
Существует сопутствующая программа под названием doxywizard , который позволяет просматривать множество параметров конфигурации, доступных для настройки сгенерированного HTML.Кроме того, вы можете запустить doxygen -g
, чтобы создать исходный файл конфигурации (который включает в себя подробные советы).
Я рекомендую следующие нестандартные параметры для создания браузера исходного кода:
SOURCE_BROWSER=YES ## display source code
EXTRACT_ALL=YES ## display all items (not just "documented" ones)
RECURSIVE=YES ## include source found in subdirectories
SEPARATE_MEMBER_PAGES=YES ## optional -- each class member has its own page
Как только вы откроете главную веб-страницу, вы можете перейти к источнику интереса (или использовать функцию поиска).Источник содержит перекрестные ссылки с интерактивными ссылками на соответствующие объявления.
Я сталкивался с этой проблемой несколько раз: doxygen может создавать действительно длинные имена файлов, а зашифрованный домашний каталог Linux имеет ограничение 143 символа .Чтобы обойти это, вам, возможно, придется написать папку html
вне вашего дома.
Быстрое и грязное решение - связать html
с папкой в /tmp
или /dev/shm
-возможно также chmod
разрешение для лучшей безопасности данных.