ctrl+shift+p filters: :st2 :st3 :win :osx :linux
Browse

Doxy​Doc

by Rapptz ALL

A sublime text plugin for C++ document autocompletion

Details

  • 1.2.1
  • github.​com
  • github.​com
  • 10 years ago
  • 37 minutes ago
  • 10 years ago

Installs

  • Total 16K
  • Win 6K
  • Mac 3K
  • Linux 6K
Apr 25 Apr 24 Apr 23 Apr 22 Apr 21 Apr 20 Apr 19 Apr 18 Apr 17 Apr 16 Apr 15 Apr 14 Apr 13 Apr 12 Apr 11 Apr 10 Apr 9 Apr 8 Apr 7 Apr 6 Apr 5 Apr 4 Apr 3 Apr 2 Apr 1 Mar 31 Mar 30 Mar 29 Mar 28 Mar 27 Mar 26 Mar 25 Mar 24 Mar 23 Mar 22 Mar 21 Mar 20 Mar 19 Mar 18 Mar 17 Mar 16 Mar 15 Mar 14 Mar 13 Mar 12 Mar 11
Windows 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
Mac 0 2 2 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0
Linux 0 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 1 0 0 0 1 0 0 0

Readme

Source
raw.​githubusercontent.​com

DoxyDoc

DoxyDoc is a plug-in that allows you to auto-complete doc block comments for C++ using Doxygen. Inspired by PhpDoc and DocBlockr this was made due to frustrations due to lack of proper C++ support from DocBlockr. The latter plug-in had no capabilities to parse templated functions or classes and would just leave the comment hanging.

There are no plans to support other languages as DocBlockr does this job fairly well.

Installation

The easy way to install this is through Package Control.

  • Press Ctrl + Shift + P
  • Type “install” without quotes to get to Package Control: Install Package
  • Type “DoxyDoc” without quotes and you'll see this package.

Another way to install this is through running git clone of this repository in your package directory.

The command to do so is the following:

git clone https://github.com/Rapptz/doxydoc.git DoxyDoc

Usage

Just like DocBlockr, pressing /** and then enter or tab would automatically insert the corresponding documentation. There are no keyboard shortcuts to memorise.

As you can see, pressing enter consecutively would automatically continue the comment.

DoxyDoc also supports C++ function documenting in various forms.

A basic function is trivial to document:

If a function has a template parameter, a @tparam property is automatically added as well.

However if the function uses the template type parameter in the function it'll try its best to not include it.

DoxyDoc also supports adding the @return property if the return value is not void.

DoxyDoc also supports basic documenting of class names, templated or not.

Note that all the fields are just Sublime Text snippets, so tabbing over will allow you to seamlessly edit the parameters for the tags.

Along with automatically generating documentation, DoxyDoc allows autocompletion of some common Doxygen snippets as listing all of the supported ones would be extremely big. You can get a list of them by pressing @ and a list will pop up automatically.

A couple things from DocBlockr are lacking though, which you can find in the TODO below.

Issues and Limitations

C++ is notoriously hard to parse, so it'll be insane to say that this so-called parser is perfect as it is far from it. Occasional bugs are sure to pop up every so often, which is why I made this to be as simple as possible. Since the “parser” is essentially a bunch of regex under the hood, some abnormalities are bound to pop up because I chose to take part in two problems rather than one.

Limitations are mostly involving template parameters and some complex functions. I also haven't tried function pointers in function arguments, so that will most likely be faulty as well. You are free to open up an issue in the issue tracker if you believe the bug is too severe or it ruins your flow. You're also welcome to submit a patch yourself to fix the functionality. :)

Todo

  • Allow configuration of options. Some examples:
    • Ability to insert @author tags in the snippets
    • Indentation choice
  • Support other types of comments such as /// and //!
  • Variable documentation