Lorsque je documente le code Python dans Doxygen, je laisse le mémo car il convient.
Les commentaires au format docstring en python seront affichés par la fonction de support d'édition de VScode lorsque vous placez le curseur sur la fonction.
■ exemple de commentaire au format docstring
def leftCosets(self, H: FiniteGroup) -> Set[Set[GroupElement]]:
"""
@brief Calculates left cosets of H in self.
@details foo
:param H: subGroup of self
:return:
@note bar
"""
cosets = {frozenset(copy.deepcopy(H.elements)),}
remain = self.elements - H.elements
while len(remain) > 0:
#~ Omis ~
return cosets
C'est pratique car vous pouvez le vérifier dans le commentaire sans passer à la position de définition de la fonction en déplaçant simplement le curseur sur la fonction.
Cependant, le format docstring n'a pas l'air bien lorsqu'il est documenté dans Doxygen car "aucune commande spéciale dans doxygen n'est prise en charge".
Par conséquent, nous utiliserons un filtre qui convertit le format docstring au format doxygen.
■ Filtre pour convertir le format docstring au format Doxygen doxyfilter_python(GitHub)
Ce filtre convertit le format docstring au format doxygen et le transmet à Doxygen.
■ Exemple de commentaire au format doxygen
##
#@brief Calculates left cosets of H in self.
#@details foo
#
#@param H (FiniteGroup) subGroup of self
#@return (Set[Set[GroupElement]])
#
#@note bar
def leftCosets(self, H: FiniteGroup) -> Set[Set[GroupElement]]:
cosets = {frozenset(copy.deepcopy(H.elements)),}
remain = self.elements - H.elements
while len(remain) > 0:
#~ Omis ~
return cosets
python:doxyfilter_python.py
import io
#~ Omis ~ effectuer_Ajoutez la ligne suivante au début de la fonction fh
sys.stdout = io.TextIOWrapper(sys.stdout.buffer,encoding='utf-8')
#~ Omis ~ Spécifiez l'encodage dans la partie ouverte de fichier de la fonction principale.
with open(file, 'r',encoding='utf-8') as fh:
■ Précautions telles que les paramètres Doxygen
Python ressemble plus à Java qu'à C ou C ++, définissez OPTMIZE_OUTPUT_JAVA sur YES dans le fichier de configuration.
Depuis «Blocs de commentaires en Python»
-Assurez-vous de laisser une ligne entre @brief et @details. Sinon, l'info-bulle VS Code affichera les éléments sur une seule ligne sans interruption. -Assurez-vous d'inclure un commentaire de fichier. Sinon, la méthode globale ne sera pas documentée.
De «Utilisation de Doxygen avec Python3 avec l'assistance à la modification de code VS»
--Expert tab-> Topics-> Input-> Spécifiez doxyfilter_python.py avec le chemin complet dans INPUT_FILTER.
Pour le site de référence ("Utiliser Doxygen avec Python3 tout en profitant de la prise en charge de l'édition de VS Code")
Assurez-vous de spécifier doxyfilter_python.py avec le chemin complet et indiquez explicitement qu'il fonctionnera en python3 (sinon, il a échoué).
Bien qu'il soit écrit, il semble qu'il n'est pas nécessaire de spécifier python3 dans un environnement où seule la série python3.x est incluse.
Recommended Posts