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

2807 questions
31
votes
2 answers

Difference between param[out] and return in doxygen?

What is the difference between \param[out] and \return in Doxygen? They both seem to document the output / return of a function. Is the difference due to void functions which don't have a return value and only param[out] would be valid?
Elpezmuerto
  • 4,891
  • 19
  • 60
  • 78
31
votes
2 answers

Doxygen not documenting static classes?

I've been recently using Doxygen for a project of mine. I'm having a problem though that it won't generate the proper documentation for a C# static class. Is there some option I have to enable? My complete source code for the relevant class is…
Earlz
  • 57,517
  • 89
  • 275
  • 484
31
votes
2 answers

How to document all exceptions a function might throw?

If you have a public function which may throw an exception which uses other (private or public) helper functions which can also throw exceptions I think you should document what exceptions the public function can throw and this includes exceptions…
rve
  • 5,374
  • 3
  • 34
  • 62
31
votes
4 answers

Documenting preprocessor defines in Doxygen

Is it possible to document preprocessor defines in Doxygen? I expected to be able to do it just like a variable or function, however the Doxygen output appears to have "lost" the documentation for the define, and does not contain the define itself…
Fire Lancer
  • 27,564
  • 26
  • 109
  • 168
31
votes
1 answer

how to change default font size for graphviz?

I use doxygen + graphviz for documenting my code. graphviz does a nice job of generating images. Is there any way to change the default fontsize for graphviz? The default is 14, but I want to use 12 instead. Its a real pain to change the fontsize…
chronodekar
  • 2,248
  • 5
  • 25
  • 35
31
votes
1 answer

Ignoring files in project folder for Doxygen

How can you ignore files by Doxygen similarly as by Git's .git/info/exclude? Doxygen generates docs for me based on 3rd party codes such Email -component and of my Git -repo, which I do not want. I need to keep the files where they are.
Léo Léopold Hertz 준영
  • 119,377
  • 159
  • 417
  • 655
30
votes
5 answers

Change doxygen comment style in Eclipse

Does anyone know how to edit the style used for Doxygen comments in Eclipse CDT? In other words type /** and pressing enter on a line before a function currently gives me something like: /** * * @param one * @param two * @return */ Foo(int…
deuberger
  • 3,450
  • 6
  • 29
  • 32
30
votes
4 answers

Documenting functions in C++ with Doxygen

I've got a project that I'm using Doxygen to generate documentation for. The documentation of the classes is fine, but I've also got some non-member functions that I use to create objects etc. I'd also like to have these documented, but no matter…
Paul
  • 3,566
  • 6
  • 25
  • 29
30
votes
4 answers

How do I link between markdown documents in doxygen?

I have a project with a set of markdown pages that are interlinked with links such as [Go to this page](subdir/MyOtherPage.md) The pages all get picked up by doxygen and appear in the output, but the links are not altered to point to their new html…
izb
  • 45,586
  • 39
  • 110
  • 165
28
votes
2 answers

Can Eclipse hover tips display Doxygen comments from header file?

I'm using Eclipse CDT to write C++ code. Having read several discussions here on StackOverflow about whether to place doxygen documentation in the header file or the implementation file, it seems the majority of developers favour putting doxygen…
Jack Kelly
  • 1,739
  • 2
  • 18
  • 29
28
votes
1 answer

How to set an input directory for Doxygen?

I have a directory in which all source and header files are saved. I would like to run Doxygen to generate documentation for these source code. However, I do not want to change anything in this directory (in particular I cannot add sub directories…
Roman
  • 97,757
  • 149
  • 317
  • 426
27
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,139
  • 2
  • 40
  • 38
27
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,431
  • 1
  • 15
  • 22
27
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,026
  • 4
  • 37
  • 71
26
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
  • 8,264
  • 17
  • 72
  • 139