2010-11-29 20 views
9

Kann mir bitte jemand helfen, herauszufinden, wie man den Python-Code richtig kommentiert, um von doxygen geparst zu bekommen?doxygen Syntax in Python

Irgendwie ignoriert es die Tags. Die Ausgabe (HTML) zeigt die tags:

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

@param name The name of the user. 

Beide Varianten habe ich versucht, nicht funktionieren:

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 
+0

Ich nehme an, dass Ihr Einzug tatsächlich gültig ist? –

+0

Ja ist es. Ich habe es gerade korrigiert. – Mark

+1

Warum nicht Sphinx? –

Antwort

12

Doxygen hat auch nicht dokumentierte Funktion (oder Fehler): Es analysiert Doxygen Syntax in docstring, wenn Sie mit einem Ausrufezeichen beginnen Docstring:

class Hello: 
    def __init__(self, name): 
    """[email protected] 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 

Beachten Sie, dass in Python docsting, die Sie benötigen Verwenden Sie @ anstelle von \, um Doxygen-Befehle zu starten (Backslash funktioniert als Escape-Zeichen in DocString).

+0

Das funktioniert perfekt, danke! – Penz

4

Für Doxygen die speziellen Befehle in Python Kommentare zu erkennen Sie müssen das folgende Kommentarformular verwenden:

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

    def dosomething(x):   
     dosomethingelse 

Siehe http://www.stack.nl/~dimitri/doxygen/docblocks.html#pythonblocks