DoxyDoxygen is a plug-in for Sublime Text that aims to save a lot of time and efforts when creating and updating documentation comments in source code.
How does it work ?
- Write your code
- Press Alt+Q (or
/**
+ Enter), code is parsed and a skeleton documentation is written for you - Update your code
- Press Alt+Q, documentation is updated
DoxyDoxygen can be easily configured to suit your needs.
- no matter your programming language
- no matter your documentation generator : ApiDoc, AsDoc, Doxygen, Drupal Api Module, Google Closure, JavaDoc, JsDoc, PhpDocumentor, SassDoc, Sphinx, XmlDoc, YuiDoc...
- no matter your comment style :
/**
,///
... - no matter your preferred layout for tags...
Documentation is generated... Descriptions are written in your native language...
And, reading this manual you will discover even more features like on demand translation...
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.
Types are automatically deduced from the code:
Even difficult to analyze programming languages are properly supported:
If a function has a template parameter, a @tparam
property is automatically added:
And, of course, classes (with template or not) are also supported.
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:
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
*/
To switch between your preferred comment styles, press Shift+Alt+Q (or Super+Shift+Alt+Q on OS X).
You can also find more flexible commands in the Command Palette.
DoxyDoxygen allows auto-completion. A large set of commands is available,
Available commands depends of doc-style:
- Commands list for ApiDoc
- Commands list for AsDoc
- Commands list for Doxygen
- Commands list for Drupal Api Module
- Commands list for Google Closure
- Commands list for JavaDoc
- Commands list for JsDoc
- Commands list for PhpDocumentor
- Commands list for SassDoc
- Commands list for Sphinx
- Commands list for XmlDoc
- Commands list for YuiDoc
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).
As you can see on previous example, pressing Enter consecutively automatically continues the comment.
warning
On single line comment, comment continuation may appear as strange on the last line comment (
///
). The behavior is optional (see parametercontinuation_on_last_comment
). If activated, you can press Shift+Enter to stop continuation.
To ease navigation, press End (Super+Right on OS X) on end-of-line to go to the next column.
warning
Doxygen file only (
.dox
)
You can move from a @ref
tag to the referenced page or section using the goto_definition
command (press F12 using Sublime Text default key bindings)
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
warning
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.
tip
If a cursor is in a comment block (without selection), all descriptions of this comment will be translated.
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.
note
Before command execution, DoxyDoxygen parses the Doxyfile file and extract all heading
@INCLUDE
. For each included file, an environment variable s 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 variableDOXYDOXYGEN_GENERATED_FILENAME_PATH
with the value../path
path/A@STRANGE!VALUE.ext
defines a variableDOXYDOXYGEN_GENERATED_A_STRANGE_VALUE_PATH
with the valuepath
tip
If you want to include it in your build chain, you can call this command from the command-line.
DoxyDoxygen may be downloaded and evaluated for free, however a license must be purchased for continued use. See End User License Agreement for further informations.