Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/20Tauri/DoxyDoxygen
The last word in code documentation generation
https://github.com/20Tauri/DoxyDoxygen
Last synced: 16 days ago
JSON representation
The last word in code documentation generation
- Host: GitHub
- URL: https://github.com/20Tauri/DoxyDoxygen
- Owner: 20Tauri
- Created: 2015-05-26T20:40:29.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2024-02-13T19:53:31.000Z (9 months ago)
- Last Synced: 2024-08-01T05:23:35.694Z (3 months ago)
- Homepage:
- Size: 3.24 MB
- Stars: 141
- Watchers: 7
- Forks: 5
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
Awesome Lists containing this project
README
### Welcome to DoxyDoxygen
![](https://raw.githubusercontent.com/20Tauri/DoxyDoxygen/master/images/scr_first_word.gif)
DoxyDoxygen is a plug-in for [Sublime Text](https://www.sublimetext.com) 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 updatedDoxyDoxygen can be easily configured to suit your needs.
* no matter your programming language
* no matter your documentation generator : [ApiDoc](http://apidocjs.com/), [AsDoc](http://help.adobe.com/en_US/flex/using/WSd0ded3821e0d52fe1e63e3d11c2f44bb7b-7fe7.html), [Doxygen](https://www.doxygen.nl/), [Drupal Api Module](https://www.drupal.org/node/425940), [Google Closure](https://developers.google.com/closure/compiler/), [JavaDoc](http://docs.oracle.com/javase/7/docs/technotes/tools/windows/javadoc.html), [JsDoc](https://devdocs.io/jsdoc), [PhpDocumentor](https://docs.phpdoc.org/index.html), [SassDoc](http://sassdoc.com/), [Sphinx](http://sphinx-doc.org/), [XmlDoc](http://www.ecma-international.org/publications/standards/Ecma-334.htm), [YuiDoc](http://yui.github.io/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...
### Usage
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.
![](https://raw.githubusercontent.com/20Tauri/DoxyDoxygen/master/images/scr_python_calc_area_function.gif)
Types are automatically deduced from the code:
![](https://raw.githubusercontent.com/20Tauri/DoxyDoxygen/master/images/scr_javascript_guess_parameters_type.gif)
Even difficult to analyze programming languages are properly supported:
![](https://raw.githubusercontent.com/20Tauri/DoxyDoxygen/master/images/scr_cpp_calc_area_function.gif)
If a function has a template parameter, a `@tparam` property is automatically added:
![](https://raw.githubusercontent.com/20Tauri/DoxyDoxygen/master/images/scr_cpp_function_template.gif)
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:
![](https://raw.githubusercontent.com/20Tauri/DoxyDoxygen/master/images/scr_cpp_update_existing_comment.gif)
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
```javascript
/**
* @return Error code
* - E_OK
* - E_ACCESS_DENIED
* - E_INTERNAL
*/
```
Example of invalid list```javascript
/**
* @return Error code:
* E_OK
* E_ACCESS_DENIED
* E_INTERNAL
*/
```Invalid list after an update
```javascript
/**
* @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+Q on OS X).
You can also find more flexible commands in the _Command Palette_.
Extend a documentation block
----------------------------### Auto-completion
DoxyDoxygen allows auto-completion. A large set of commands is available,
Available commands depends of doc-style:
* [Commands list for ApiDoc](http://apidocjs.com/#params)
* [Commands list for AsDoc](http://help.adobe.com/en_US/flex/using/WSd0ded3821e0d52fe1e63e3d11c2f44bc36-7ff6.html)
* [Commands list for Doxygen](https://www.doxygen.nl/manual/commands.html)
* [Commands list for Drupal Api Module](https://www.drupal.org/coding-standards/docs)
* [Commands list for Google Closure](https://developers.google.com/closure/compiler/docs/js-for-compiler?csw=1)
* [Commands list for JavaDoc](http://docs.oracle.com/javase/7/docs/technotes/tools/windows/javadoc.html)
* [Commands list for JsDoc](http://usejsdoc.org/)
* [Commands list for PhpDocumentor](https://www.phpdoc.org/docs/latest/index.html)
* [Commands list for SassDoc](http://sassdoc.com/annotations/)
* [Commands list for Sphinx](http://sphinx-doc.org/markup/inline.html)
* [Commands list for XmlDoc](https://www.doxygen.nl/manual/xmlcmds.html)
* [Commands list for YuiDoc](http://yui.github.io/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).
![](https://raw.githubusercontent.com/20Tauri/DoxyDoxygen/master/images/scr_doxygen_syntax.gif)
### Comment continuation
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 parameter `continuation_on_last_comment`). If activated, you can press Shift+Enter to stop continuation.Navigate in documentation
-------------------------### Move to the right column
To ease navigation, press End (Super+Right on OS X) on end-of-line to go to the next column.
![](https://raw.githubusercontent.com/20Tauri/DoxyDoxygen/master/images/scr_goto_eol.gif)
### Follow references
> **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)
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+\]: UnfoldOn OS X:
* Super+Alt+\[: Fold
* Super+Alt+\]: Unfold![](https://raw.githubusercontent.com/20Tauri/DoxyDoxygen/master/images/scr_fold_comment.gif)
Translate
---------> **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.
![](https://raw.githubusercontent.com/20Tauri/DoxyDoxygen/master/images/scr_translate_to.gif)
> **tip**
>
> 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.
> **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__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`> **tip**
>
> If you want to include it in your build chain, you can call this command from the command-line.### User Guide
* [Installation](http://20tauri.free.fr/DoxyDoxygen/v2/page_installation.php)
* [Software installation with Package Control](http://20tauri.free.fr/DoxyDoxygen/v2/page_installation.php#software-installation-with-package-control)
* [Manual software installation](http://20tauri.free.fr/DoxyDoxygen/v2/page_installation.php#manual-software-installation)
* [License installation](http://20tauri.free.fr/DoxyDoxygen/v2/page_installation.php#license-installation)
* [EULA (End User License Agreement)](http://20tauri.free.fr/DoxyDoxygen/v2/page_installation.php#eula-end-user-license-agreement)
* [Usage](http://20tauri.free.fr/DoxyDoxygen/v2/page_usage.php)
* [Create a documentation block](http://20tauri.free.fr/DoxyDoxygen/v2/page_usage.php#create-a-documentation-block)
* [Update / wrap an existing documentation block](http://20tauri.free.fr/DoxyDoxygen/v2/page_usage.php#update-wrap-an-existing-documentation-block)
* [Switch between comment styles](http://20tauri.free.fr/DoxyDoxygen/v2/page_usage.php#switch-between-comment-styles)
* [Extend a documentation block](http://20tauri.free.fr/DoxyDoxygen/v2/page_usage.php#extend-a-documentation-block)
* [Auto-completion](http://20tauri.free.fr/DoxyDoxygen/v2/page_usage.php#auto-completion)
* [Comment continuation](http://20tauri.free.fr/DoxyDoxygen/v2/page_usage.php#comment-continuation)
* [Navigate in documentation](http://20tauri.free.fr/DoxyDoxygen/v2/page_usage.php#navigate-in-documentation)
* [Move to the right column](http://20tauri.free.fr/DoxyDoxygen/v2/page_usage.php#move-to-the-right-column)
* [Follow references](http://20tauri.free.fr/DoxyDoxygen/v2/page_usage.php#follow-references)
* [Fold / Unfold comments](http://20tauri.free.fr/DoxyDoxygen/v2/page_usage.php#fold-unfold-comments)
* [Translate](http://20tauri.free.fr/DoxyDoxygen/v2/page_usage.php#translate)
* [Generate documentation](http://20tauri.free.fr/DoxyDoxygen/v2/page_usage.php#generate-documentation)
* [Customization](http://20tauri.free.fr/DoxyDoxygen/v2/page_customization.php)
* [Settings](http://20tauri.free.fr/DoxyDoxygen/v2/page_customization.php#settings)
* [Understanding settings](http://20tauri.free.fr/DoxyDoxygen/v2/page_customization.php#understanding-settings)
* [Settings references](http://20tauri.free.fr/DoxyDoxygen/v2/page_customization.php#settings-references)
* [Translation services settings](http://20tauri.free.fr/DoxyDoxygen/v2/page_customization.php#translation-services-settings)
* [Add your own doc-style](http://20tauri.free.fr/DoxyDoxygen/v2/page_customization.php#add-your-own-doc-style)
* [Key bindings](http://20tauri.free.fr/DoxyDoxygen/v2/page_customization.php#key-bindings)
* [Key bindings on Windows and Linux](http://20tauri.free.fr/DoxyDoxygen/v2/page_customization.php#key-bindings-on-windows-and-linux)
* [Key bindings on OS X](http://20tauri.free.fr/DoxyDoxygen/v2/page_customization.php#key-bindings-on-os-x)
* [Commands from the palette](http://20tauri.free.fr/DoxyDoxygen/v2/page_customization.php#commands-from-the-palette)
* [Commands from the menu](http://20tauri.free.fr/DoxyDoxygen/v2/page_customization.php#commands-from-the-menu)
* [Glossary](http://20tauri.free.fr/DoxyDoxygen/v2/page_glossary.php)
* [Appendices](http://20tauri.free.fr/DoxyDoxygen/v2/page_appendices.php)
* [Features Comparison](http://20tauri.free.fr/DoxyDoxygen/v2/page_appendices.php#features-comparison)
* [Supported Documentation Tools](http://20tauri.free.fr/DoxyDoxygen/v2/page_appendices.php#supported-documentation-tools)
* [Supported Languages](http://20tauri.free.fr/DoxyDoxygen/v2/page_appendices.php#supported-languages)### Support
* [Known issues](http://20tauri.free.fr/DoxyDoxygen/v2/page_known_issues.php)
* [Incorrect syntaxes](http://20tauri.free.fr/DoxyDoxygen/v2/page_known_issues.php#incorrect-syntaxes)
* [Conflict with other plugins](http://20tauri.free.fr/DoxyDoxygen/v2/page_known_issues.php#conflict-with-other-plugins)
* [FAQ](http://20tauri.free.fr/DoxyDoxygen/v2/page_faq.php)
* [Can I call DoxyDoxygen from the command-line ?](http://20tauri.free.fr/DoxyDoxygen/v2/page_faq.php#can-i-call-doxydoxygen-from-the-command-line)
* [Is it possible to disable default parameter description ?](http://20tauri.free.fr/DoxyDoxygen/v2/page_faq.php#is-it-possible-to-disable-default-parameter-description)
* [How can I switch to a different `preferred_comment_style` ?](http://20tauri.free.fr/DoxyDoxygen/v2/page_faq.php#how-can-i-switch-to-a-different-preferred-comment-style)
* [Is it possible to add tags dynamically ?](http://20tauri.free.fr/DoxyDoxygen/v2/page_faq.php#is-it-possible-to-add-tags-dynamically)
* [Why there's no alignment on Enter ?](http://20tauri.free.fr/DoxyDoxygen/v2/page_faq.php#why-there-s-no-alignment-on-enter)
* [Support](http://20tauri.free.fr/DoxyDoxygen/v2/page_support.php)
* [Contact from GitHub](http://20tauri.free.fr/DoxyDoxygen/v2/page_support.php#contact-from-github)
* [Contact from Web Site](http://20tauri.free.fr/DoxyDoxygen/v2/page_support.php#contact-from-web-site)
* [Contact from Sublime Text](http://20tauri.free.fr/DoxyDoxygen/v2/page_support.php#contact-from-sublime-text)### License
DoxyDoxygen may be downloaded and evaluated for free, however a license must be purchased for continued use.
See [End User License Agreement](http://20tauri.free.fr/DoxyDoxygen/v2/page_installation.php#eula-end-user-license-agreement) for further informations.[![](https://www.paypalobjects.com/en_US/i/btn/btn_buynow_LG.gif)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=GXEEET3XT3VYG)