Mark
Mark

Reputation: 7625

doxygen syntax in python

Can somebody please help me to figure out how to comment python code correctly to get parsed by doxygen?

Somehow it ignores the tags. The output (HTML) shows the tags:

@brief Creates a new Hello object.
This Hello Object is beeing used to ...

@param name The name of the user.

Both variants I tried do not work:

class Hello:
    """@brief short description...

    longer description
    """
    def __init__(self, name):
    """@brief Creates a new Hello object.

    This Hello Object is beeing used to ...

    @param name The name of the user.
    """
        self.name = name

class Hello:
    """\brief short description...

    longer description
    """
    def __init__(self, name):
    """\brief Creates a new Hello object.

    This Hello Object is beeing used to ...

    \param name The name of the user.
    """
        self.name = name

Upvotes: 13

Views: 22368

Answers (2)

cdiggins
cdiggins

Reputation: 18203

For doxygen to recognize the special commands in Python comments you have to use the following comment form:

class Hello: 
    ## \brief Short description.
    # Longer description. 
    # \param self
    # \param name
    def __init__(self, name):         
        dosomething(12)

    def dosomething(x):         
        dosomethingelse

See http://www.doxygen.nl/manual/docblocks.html#pythonblocks

Upvotes: 5

wenzeslaus
wenzeslaus

Reputation: 717

Doxygen has also undocumented feature (or bug): It parses Doxygen syntax in docstring if you start docstring with an exclamation mark:

class Hello: 
    def __init__(self, name):
    """!@brief Creates a new Hello object.

    This Hello Object is being used to...

    @param name The name of the user.
    """
    self.name = name
        dosomething(12)

    def dosomething(x):         
        dosomethingelse

Note that in Python docsting, you need to use @ instead of \ to start Doxygen commands (backslash works as an escape character in docstring).

Upvotes: 19

Related Questions