Doxygen est un système de documentation pour C, C++, Java, Python, Php et autres langages. Il permet de générer la documentation de vos développements :
La documentation peut être produite dans des formats variés tels que du HTML, du Latex, du RTF ou du XML.
Doxygen est un logiciel libre, publié sous licence GPL V2.0.
Lire : doc.ubuntu-fr.org/doxygen
Ubuntu :
$ sudo apt-get install doxygen doxygen-gui doxygen-doc
Pour les graphiques :
$ sudo apt-get install graphviz
Pour lancer l’interface graphique de Doxygen, ouvrez un terminal et entrez la commande suivante :
doxywizard
L’onglet wizard vous permet :
L’onglet Expert vous permet d’accéder aux options avancées.
Il ne vous reste alors plus qu’à cliquer sur Run pour obtenir le résultat.
Remarques :
N’oubliez pas d’enregistrer votre configuration dans un fichier Doxyfile.
Remarque : il est intéressant de générer aussi les diagrammes de classes. Pour cela, veillez à sélectionner les options suivantes :
Lire :
Commentaire pour une classe :
/**
* \file busi2c.h
*
* \class BusI2C
*
* \brief Gestion du bus I2C pour les circuits LTC2309 et BH1750
*
* \details Classe singleton + ressource critique protégée par un mutex
*
* \author Thierry VAIRA
*
* \version 0.9
*
* \date Lundi 9 mai 2016
*
*/
class BusI2C
{
...
};
Commentaire pour une méthode :
/**
* \brief Acquérir la valeur numérique d'une entrée analogique du LTC2309
* \details Méthode statique permettant de lire le LTC2309 (CAN 12 bits)
* \param pin Numéro du canal
* \return Un \e int représentant la valeur brute de la tension du canal
*/
int BusI2C::analogRawRead(int pin)
{
...
}
Il est aussi possible d’obtenir des diagrammes UML :
Vous avez aussi la possibilité de créer des pages de documentation.
Par exemple une page principale :
/*! \mainpage Page principale du projet XXX
*
* \section section_intro Introduction
*
*
* Bla bla ....
*
* \section section_tdm Table des matières
* - \ref page_install
* - \ref page_about
* - \ref page_licence
*
*/
/*! \page page_install Installation
*
* \todo rédiger le manuel d'installation
*
*/
/*! \page page_about A propos
* \author \a Toto <toto@nowhere.com>
* \version 1.0
* \date \b 2016
*/
/*! \page page_licence Licence GPL
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
*/
Il existe un plugin Doxygen pour Qt Creator qui permet d’intégrer dans l’EDI des fonctionnalités de documentation.
Wiki : http://dev.kofee.org/projects/qtcreator-doxygen/wiki
Remarque : Le plugin est fourni sous forme binaire jusqu’à la version 3.1 de Qt Creator. Pour les versions supérieures, il vous faudra le recompiler à partir des sources.
Pour la version Qt Creator 2.4.1 (64 bits) : qtcreator-doxygen-0.3.5-qtcreator-2.4.1-linux-x86_64.zip
Les plugins de Qt Creator sont installés dans /usr/lib/x86_64-linux-gnu/qtcreator/plugins/
(pour une Ubuntu 12.04), donc :
$ sudo unzip qtcreator-doxygen-0.3.5-qtcreator-2.4.1-linux-x86_64.zip -d /usr/lib/x86_64-linux-gnu/qtcreator/plugins/
Il faut relancer Qt Creator.
Vous obtenez un nouveau sous-menu dans le menu Outils :
Utilisation :
D’autre part, vous aurez accès à la complétion pour les commandes Doxygen à partir de @ ou \ :
Lien : github.com/agateau/doxyqml