Create a documentation block

Start a documentation block (usually /**) before a declaration, then press Enter. The corresponding documentation will automatically be inserted. There are no keyboard shortcuts to memorize.

To be more efficient, you may also press Alt+Q (or Super+Alt+Q on OS X) after the function definition. A documentation block is written for you.

Support Python

Types are automatically deduced from the code:

Guess types

Even difficult to analyze programming languages are properly supported:

Support C++

If a function has a template parameter, a @tparam property is automatically added:

Support @tparam

And, of course, classes (with template or not) are also supported.

Update / wrap an existing documentation block

To update a comment, press Alt+Q (or Super+Alt+Q on OS X). As DoxyDoxygen knows the Doxygen commands, no invalid line break will be inserted.

Even better, with default settings, Alt+Q also reexamine the documented object and detects missing, renamed or moved parameters:

Update existing comment

DoxyDoxygen preserves list with hierarchy. On update, spaces before an item are kept. A valid list item is a line that start with -#, -, + or *.

Example of valid list
 * @return Error code
 *           - E_OK
 *           - E_ACCESS_DENIED
 *           - E_INTERNAL
Example of invalid list
 * @return Error code:
 *           E_OK
 *           E_ACCESS_DENIED
 *           E_INTERNAL
Invalid list after an update
 * @return Error code: E_OK E_ACCESS_DENIED E_INTERNAL

Switch between comment styles

To switch between your preferred comment styles, press Shift+Alt+Q (or Super+Shift+Alt+K on OS X).

You can also find more flexible commands in the Command Palette.

Extend a documentation block


DoxyDoxygen allows auto-completion. A large set of commands is available,

Available commands depends of doc-style:

Only commands matching your configured doc-styles are suggested.

For example, to get the list of available commands, press @. Then, press Ctrl+Space to display the completion list.

Ctrl+Space is optional, but Sublime Text defaults settings deactivate completion in comment (see auto_complete_selector settings).

Support completion

Comment continuation

As you can see on previous example, pressing Enter consecutively automatically continues the comment.


On single line comment, comment continuation may appear as strange on the last line comment (///). The behavior is optional (see parameter continuation_on_last_comment). If activated, you can press Shift+Enter to stop continuation.

Fold / Unfold comments

You can Fold / Unfold comments blocks from the Command Palette or using Sublime Text standard shortcuts.

On Windows and Linux:
  • Ctrl+Shift+[: Fold

  • Ctrl+Shift+]: Unfold

On OS X:
  • Super+Alt+[: Fold

  • Super+Alt+]: Unfold

Comment folding



Translations use network service. If you are behind a proxy, don’t forget to configure it before using those features.

To translate selections, go to the Command Palette (Ctrl+Shift+P), then select DoxyDoxygen: Translate or DoxyDoxygen: Translate To to translate them.


If a cursor is in a comment block (without selection), all descriptions of this comment will be translated.

Generate documentation

If you use Doxygen, you can generate your documentation directly from the Command Palette. An assistant will help you to download tools and configure your project.


New in version 0.46.4.

Before command execution, DoxyDoxygen parses the Doxyfile file and extract all heading @INCLUDE. For each included file, an environment variable is generated. The name of this variable is: DOXYDOXYGEN_GENERATED_<base_name_without_extension>_PATH and its value is the path where the file is stored. This allows relative inclusion inside each included file (useful for footer…)

If the filename contains non alpha-numeric characters, they are replaced with _.

  • ../path/filename.ext defines a variable DOXYDOXYGEN_GENERATED_FILENAME_PATH with the value ../path

  • path/A@STRANGE!VALUE.ext defines a variable DOXYDOXYGEN_GENERATED_A_STRANGE_VALUE_PATH with the value path


If you want to include it in your build chain, you can call this command from the command-line.