CLion 2020.1 Help

Creating and Viewing Doxygen Documentation

Doxygen-style comments can be placed across the source code and used for generating full-fledged documentation in various formats. In case you have a project documented this way, you can easily run Doxygen tool from the built-in terminal in CLion to get the documentation. Besides, CLion enables you to get more value out of the Doxygen comments inside the IDE itself.

CLion includes the information from the Doxygen-styled comments into the Quick Documentation popup Ctrl+Q:

Doxygen comments in Quick Documentation

Viewing documentation

Doxygen-styled information is included in Quick Documentation popup in addition to the type information. To invoke the documentation popup:

  1. Place the caret at the desired symbol or at the @param command of the Doxygen comment.

  2. Press Ctrl+Q.

Alternatively, when the checkbox Show quick documentation on mouse move (CLion | Settings/Preferences | Editor | General | Other) is selected, just move your mouse pointer over the desired symbol.

If function parameters are documented separately from the function description, CLion will merge all the comments and show you the full function’s signature documentation (the same way as Doxygen does when generating the output) :

merged Doxygen comments

Creating comments from scratch

To create a Doxygen comment from scratch:

  1. Type one of the following symbols: ///, //!, /** or /*! and press Enter.

  2. You will get a stub to fill with the documentation text:

    Generate comments

Reliable rename

While renaming a function or its parameters, the Doxygen comments need to be updated accordingly. In case of the Rename refactoring Shift+F6, CLion updates Doxygen comments along with other references.


Renaming example - before


Renaming example - after

Typing assistance

Basic typing assistance for Doxygen commands is provisioned by CLion auto-complete feature:

Typing assistance for Doxygen commands

Note that not all the commands are available in the completion. Here you can find the list of the commands that are currently unsupported.

Last modified: 25 June 2020