Questions tagged [doxygen]

Doxygen is a multilanguage documentation generation application for C++, C, Java, Objective-C, Python, IDL, Fortran, VHDL, PHP and C# that supports a wide variety of output formats including RTF, HTML, XML and PDF.

Doxygen is a documentation generation application written by Dimitri van Heesch that supports a wide variety of output formats including RTF, HTML, XML and PDF. It supports code in C++, C, Java, Objective-C, Python, IDL (Corba and Microsoft flavors), Fortran, VHDL, PHP, C#, and to some extent D. It is available for Linux, MacOS and Windows. The application is licenced under the GNU General Public License.

Features of Doxygen

  • Generate documentation in various formats including HTML, XML, LaTex, Man Pages, RTF and PDF.
  • Finegrained configuration possibilities to decide what parts of the code is included in the documentation.
  • Extract the code structure from documented or undocumented source files.
  • A number of different diagrams such as dependency graphs, inheritance diagrams and collaboration diagrams can be generated.
  • Additional documentation pages such as overview, howtos etc. can be included in the documentation structure.
  • Tight integration with the .dot graphic tool enables quick graphing utilities for state diagrams etc.

See Also

3108 questions
29
votes
1 answer

Can Doxygen easily be configured to recognise TODO and FIXME lines?

I've just installed and setup an instance of Doxygen, but out of the box it only finds TODO tags in code when marked in a block like: /** * @todo Foo */ It doesn't seem to find: // TODO Foo // FIXME Bar // @todo Baz Most IDE's and bug trackers…
Iain Collins
  • 6,774
  • 3
  • 43
  • 43
29
votes
1 answer

Doxygen @param direction arguments [in],[out],[in,out] example output

The optional direction argument for the @param command is documented here as one of the following: @param[in] @param[out] @param[in,out] I do not see in any of the example sites how this information appears in the output. Is there an example of how…
ThomasMcLeod
  • 7,603
  • 4
  • 42
  • 80
28
votes
1 answer

How to get rid of "The documentation for this class was generated from the following files" paragraph?

What option, and where it is in the GUI front end, do I need to set to remove the paragraph The documentation for this class was generated from the following files: from my project documentation pages? Alternatively, how do I get rid of the…
myWallJSON
  • 9,110
  • 22
  • 78
  • 149
28
votes
1 answer

Doxygen is Slow

Doxygen takes about 12 hours to run on our code base. This is primarily because there is a lot of code to process (~1.5M lines). However, it's very quickly approaching the point at which we can't do nightly documentation updates because they take…
alficles
  • 1,471
  • 1
  • 15
  • 24
28
votes
2 answers

Documenting namespaces with Doxygen

I'm having issues with Doxygen recognizing namespaces and modules. I believe the issue surrounds whether to place the \addtogroup within the namespace or outside the namespace. Example 1, outside the namespace: /*! * \addtogroup Records * @{ …
28
votes
5 answers

Using Doxygen with C, do you comment the function prototype or the definition? Or both?

I'm using Doxygen with some embedded C source. Given a .c/.h file pair, do you put Doxygen comments on the function prototype (.h file) or the function definition (.c file), or do you duplicate them in both places? I'm having a problem in which…
jparker
  • 1,569
  • 2
  • 16
  • 16
26
votes
1 answer

Generate JavaScript documentation with Doxygen

I use PHP and JavaScript in my project, which I entirely code with netbeans 7.0.1. I really like how netbeans includes and uses the JavaDoc commenting style, both for PHP and JS code. Now, I want to generate the code documentation from PHP as well…
John Archer
  • 2,407
  • 2
  • 25
  • 33
26
votes
2 answers

Documenting Macro Functions in C++ with Doxygen

How do I document a macro function in C++ using Doxygen, and refer to it in the documentation of my non-Evil code? More specifically, I have some regular class called "Message" defined in Message.H that users can inherit from to define their own…
rcv
  • 6,078
  • 9
  • 43
  • 63
26
votes
4 answers

Is doxygen the (de facto) standard documentation syntax specification?

We all have the good habit of documenting our code, right? Nowadays, in-code documentation itself has a syntax. It's almost like a programming language onto itself. The questions are: What (How many) documentation syntax specifications…
augustin
  • 14,373
  • 13
  • 66
  • 79
26
votes
2 answers

Do Doxygen config files support variables?

For instance I set the source code path as c:\code\testapp\src. Is this then available as a var I can use - for instance so I can spit out a tag file in a location relative to this, not relative to the working dir of doxygen? I think I'm looking for…
Mr. Boy
  • 60,845
  • 93
  • 320
  • 589
26
votes
3 answers

What is the Mathworks way to generate Matlab HTML documentation?

I am working on shared Matlab code and we would like to share a generated documentation as searchable HTML documents within our local network. I know of the following methods to generate a documentation: Write a converter to C++-like files. This is…
Lukas
  • 2,330
  • 2
  • 22
  • 31
26
votes
10 answers

Doxygen, too heavy to maintain?

I am currently starting using doxygen to document my source code. I have notice that the syntax is very heavy, every time I modify the source code, I also need to change the comment and I really have the impression to pass too much time modifying…
Phong
  • 6,600
  • 4
  • 32
  • 61
25
votes
5 answers

Is phpDocumentor dead?

Or is it just at a 'finished' state? I've used PHPDoc for many years on all my PHP projects, but I recently noticed that the last post on the PHPDoc website was from 2008. So I'm wondering if it's time to look into other alternatives like…
Jeff Busby
  • 2,001
  • 17
  • 12
25
votes
1 answer

Doxygen: Disable autolink for symbol

I'd like to know if it's possible to exclude a symbol from the autolink functionality. I have a namespace with a common name (e.g. Ball) and in the documentation I use that name in phrases that are completely unrelated with the namespace (e.g. In…
V Ronin
  • 253
  • 3
  • 6
24
votes
1 answer

Doxygen @link to a URL doesn't generate the link correctly

I have added this to a class comment: @link http://www.google.com Google @endlink However, when I generate documentation using doxygen, the link text is indeed "Google", but the link is…
David Doria
  • 9,873
  • 17
  • 85
  • 147