13

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
Mark
  • 7,507
  • 12
  • 52
  • 88

2 Answers2

19

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).

wenzeslaus
  • 667
  • 6
  • 13
5

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

albert
  • 8,285
  • 3
  • 19
  • 32
cdiggins
  • 17,602
  • 7
  • 105
  • 102