Doxygen can automatically generate documents from comments in the code. Therefore, mastering Doxygen's annotation format, configuration method and usage mode can greatly place code reading, document making and code review. The use of Doxygen can be described in terms of software installation, configuration settings, and document generation.
1. Software Installation
For CentOS, for example, install Doxgyen first:
Install Doxygen
Yum Search Doxygen
Yum install doxygen-latex.x86_64 doxygen.x86_64 doxygen-doxywizard.x86_64 polkit-qt-doc.noarch
Then install the dependent Graphics drawing tool software: Grahpviz
Install Graphviz
Yum Search Graphviz
Yum install graphviz-devel.x86_64 graphviz-doc.x86_64 graphviz-gd.x86_64 graphviz-guile.x86_64 graphviz-java.x86_64 graphviz-lua.x86_64 graphviz-perl.x86_64 graphviz-php.x86_64 graphviz-python.x86_64 graphviz-ruby.x86_64 graphviz-tcl.i686 graphviz-tcl.x86_64 graphviz.x86_64 graphviz-guile.x86_64
In order to facilitate the direct generation of Doxygen-recognized annotations in Vim, it is necessary to add support for the VIM plugin:
First download the VIM plugin:
https://vim.sourceforge.io/scripts/script.php?script_id=987
from which to choose Doxygentoolkit.vim 0.2.13
Then execute the following commands and actions in turn:
CP Doxygentookkit.vim ~/root/.vim/plugin/
Add the following lines at the end of the ~/.VIMRC:
[Email protected] plugin]# tail-f/ROOT/.VIMRC
"Let Tlist_auto_open=1
"Let G:vimmake_mode = {' gcc ': ' quickfix ', ' Run ': ' Normal '}
Let G:vimmake_mode = {' gcc ': ' async ', ' Run ': ' Normal '}
Let g:doxygentoolkit_authorname= "Tishai Hua"
Let g:doxygentoolkit_brieftag_funcname= "yes"
Map <f2>a:D Oxauthor
Map <f2>f:D Ox
Map <f2>b:D Oxblock
Map <f2>c o/** */<left><left>
This allows you to use Dox/doxblock/doxauthor to generate annotations that can be doxygen understood by referring to the following instructions:
Below generated By:doxauthor
/**
* @file test.c
* @brief
* @author Hongmei
* @version 0.01
* @date 2017-09-21
*/
Below generated by: ' Dox ' command in VIM
/**
* @brief
*
* @param a
* @param b
*
* @return
*/
int test (int a, int b)
{
int c,i;
Below generated by: ' Doxblock ' command in VIM
/**
* @name
* @{ */
/** @} */
c = i = 1;
a++;
return A;
}
2. Configuration settings
You can run the following command to generate the Doxygen configuration file:
Doxygen-g
Then edit doxyfile, add support for C Inline/static/typedef, implement recursive parsing of directories, files, functions, support production reference and called Analysis diagram. My main settings are as follows, for reference only:
[[Email protected]]# cat Doxyfile | Grep-v "#" | Egrep-v "^$" | Egrep-v "=$" | Grep-v "NO"
doxyfile_encoding = UTF-8
Project_Name = "Low-3-sistr"
Project_number = "0.01"
Output_directory = doc/
Output_language = Chinese
Brief_member_desc = YES
Repeat_brief = YES
Always_detailed_sec = YES
Full_path_names = YES
Optimize_output_for_c = YES
Markdown_support = YES
Autolink_support = YES
Idl_property_support = YES
Typedef_hides_struct = YES
Lookup_cache_size = 0
Extract_all = YES
Extract_private = YES
Extract_static = YES
Extract_local_classes = YES
Case_sense_names = YES
Show_include_files = YES
Inline_info = YES
Sort_member_docs = YES
Generate_todolist = YES
Generate_testlist = YES
Generate_buglist = YES
generate_deprecatedlist= YES
Max_initializer_lines = 30
Show_used_files = YES
Show_files = YES
Show_namespaces = YES
INPUT =/home/andigu
input_encoding = UTF-8
File_patterns = *.c *.cpp *.java *.h
RECURSIVE = YES
Source_browser = YES
Strip_code_comments = YES
Referenced_by_relation = YES
References_relation = YES
References_link_source = YES
Source_tooltips = YES
Verbatim_headers = YES
Alphabetical_index = YES
Cols_in_alpha_index = 5
generate_html = YES
Enum_values_per_line = 4
Treeview_width = 250
Formula_fontsize = 10
Formula_transparent = YES
Mathjax_format = Html-css
SearchEngine = YES
Generate_latex = YES
Latex_output = Latex
Latex_cmd_name = Latex
Makeindex_cmd_name = MakeIndex
Paper_type = A4
Pdf_hyperlinks = YES
Use_pdflatex = YES
Latex_bib_style = Plain
Rtf_output = RTF
Man_output = Man
Man_extension =. 3
Xml_output = XML
xml_programlisting = YES
Docbook_output = DOCBOOK
Perlmod_pretty = YES
enable_preprocessing = YES
Search_includes = YES
Class_diagrams = YES
Hide_undoc_relations = YES
Dot_num_threads = 0
Dot_fontsize = 10
Class_graph = YES
Collaboration_graph = YES
Group_graphs = YES
Uml_look = YES
Uml_limit_num_fields = 10
Include_graph = YES
Included_by_graph = YES
Call_graph = YES
Caller_graph = YES
Graphical_hierarchy = YES
Directory_graph = YES
Interactive_svg = YES
Max_dot_graph_depth = 8
3. Document Generation
Then go to the input directory of the configuration file settings above, execute "Doxygen", after the command is completed, you can see the production of the HTML directory and the Latex directory in the output-developed directory. If you need to look at the entire code in HTML, you can open annotated.html in IE or in Firefox, and you can see all the code structures and comments.
650) this.width=650; "src=" Https://s2.51cto.com/wyfs02/M02/07/2E/wKiom1nEnn6jUBBHAADM8HStLOc172.png "title=" Doxygen_demo.png "alt=" Wkiom1nenn6jubbhaadm8hstloc172.png "/>
This article is from the "Store Chef" blog, so be sure to keep this source http://xiamachao.blog.51cto.com/10580956/1967738
Add Doxygen to C voice for better support in Linux environment