IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Qt Creator Discussion :

Doxygen et QtCreator


Sujet :

Qt Creator

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 12
    Par défaut Doxygen et QtCreator
    Bonjour a tous,

    J'aimerai savoir si QtCreator intègre un plugin pour mettre automatiquement les commentaires Doxygen dans le code à la manière de Eclipse pour la javadoc ??

    Parce que c'est long de ce taper toutes la doc à la main

    Sinon est ce que vous connaissez un outils pour le faire indépendamment de Qtcreator



    Pour être plus explicite, je voudrais un truc comme ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    int foo( double value);
    ca devient

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    /**
      * @fn foo fonction test
      * @param value valeur de test
      * @return un int
      */
    int foo( double value);
    à l'aide d'un raccourci clavier

  2. #2
    Membre éprouvé Avatar de sardik
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    135
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2009
    Messages : 135
    Par défaut
    Je ne pense pas que cela existe, tu dois te "taper" la documentation à la main.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 12
    Par défaut


    Bon tant pis je continue a chercher si je trouve quelque chose je le posterai.

  4. #4
    Membre émérite

    Profil pro
    Inscrit en
    Mai 2007
    Messages
    774
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Mai 2007
    Messages : 774
    Par défaut
    Voila une bonne idée de plug-in à développer .

    Si tu trouves en effet quelquechose, merci de le partager !

    G.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 12
    Par défaut
    Bon alors j'ai trouvé un petit plugin pour gVim :
    http://www.vim.org/scripts/script.php?script_id=674

    Il suffit de sélectionner la ligne de la fonction à commenter et de taper ox



    Pour les fainéants (comme moi ) une petite commande à taper dans gVim :
    ":map <F2> ox<CR><Esc>"

    Comme ça juste a ouvrir le source avec gVim a cliquer sur les lignes voulu et d'appuyer sur F2 ça génère bien le squelette doxygen.


    Je continue à chercher on sait jamais ^^

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 10
    Par défaut Doxygen et QtCreator
    Bonsoir,

    J'étais dans le même cas et à force de ne pas trouver j'ai fini par mettre les mains dans le cambouis ce matin.

    Attention le code est vraiment dégueulasse pour l'instant mais ça fait le job dans la plupart des cas je pense (je n'ai pas tout tout testé encore).

    http://dev.kofee.org/QtCreator-Doxygen/

    Voila, si ça intéresse

  7. #7
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut
    Citation Envoyé par kofee Voir le message
    Bonsoir,

    J'étais dans le même cas et à force de ne pas trouver j'ai fini par mettre les mains dans le cambouis ce matin.

    Attention le code est vraiment dégueulasse pour l'instant mais ça fait le job dans la plupart des cas je pense (je n'ai pas tout tout testé encore).

    http://dev.kofee.org/QtCreator-Doxygen/

    Voila, si ça intéresse

    très très interessant. Justement, si y as bien un truc qui manque c'est cela!!!!
    Par contre j'ai découvert (tous à l'heure) qu'il y as déjà l'auto complétion doxygen. Mais rien d'automatique

    Peut tu expliquer un peu plus ce que fait ton plugin et comment l'ajouter à QtCreator?
    C'est compliqué de créer un plugin pour QtCreator?

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 10
    Par défaut
    Oui justement en codant ça je suis tombé sur des gros fichiers de définition pour Doxygen qui annoncent un support digne de ce nom (mais quand :-?)

    Alors pour ce que fait le plugin, bon, déjà il s'instancie et c'est déjà pas mal, mais après il installe une action avec un raccourci clavier et une entrée dans le menu contextuel de l'éditeur C++. Après ça la méthode de génération de doc est appelée à la demande, elle obtient la postion du curseur et à partir de la on peut retrouver le texte et analyser tout ça. (voir le site et le code pour le reste pour l'instant vu que je commence juste :p)

    C'est pas facile facile de faire un plugin tierce partie pour l'instant puisque le plus gros de leur API n'est pas exposée directement et clairement (ou de manière pratique et documentée... mais ça va venir je leur fais confiance). Donc on se retrouve avec des tonnes d'inclusions et de paramètres à passer au linker. Sans compter l'exploration des namespace qui foisonnent... bien codé leur truc

    D'où mon approche dégueulasse actuelle avant de trouver exactement sur quels boutons appuyer pour que ce soit propre. Puisque je suis sûr que la plupart des fonctions demandées pour réaliser cette tâche sont déjà codées dedans mais pas relièes. Mais ça fait du bien de plus taper tout le squelette à la main :-D

    Pour les gens sous Linux ça va être facile à installer, mais pour Windows le linker gueule pour l'instant chez moi... je vais voir si je peux faire des binaires win32, mais 64bits je pourrais pas...


    Edit2: bibliothèque binaire pour qtcreator-1.3.0-rc1 win32 disponible http://dev.kofee.org/QtCreator-Doxyg...2.0.0.1-r8.zip

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 10
    Par défaut
    Il ne manque plus que des testeurs et des suggestions (seulement sur les fonctionnalités, pour la propreté du code c'est déjà commencé mais pas commit )

  10. #10
    Expert confirmé
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 296
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 296
    Par défaut
    Citation Envoyé par knopix77 Voir le message
    Bon alors j'ai trouvé un petit plugin pour gVim :
    http://www.vim.org/scripts/script.php?script_id=674
    A ce compte là, le mien détecte le sens des paramètres, la présence de spécifications d'exception (des fois des gens on de drôles d'idées...), s'il y a un type de retour ou non, et le style est configurable.
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. Et de toutes façons, ma BAL sur dvpz est pleine...

  11. #11
    Inactif  


    Homme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    5 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2008
    Messages : 5 288
    Par défaut
    Bonjour Kofee

    Quelques petites modifications que j'ai du faire pour compiler avec la version 1.3.80 de Qt Creator (version de développement).

    Dans src/shared/cplusplus/CppDocument.h :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Document::Ptr CPlusPlus::Snapshot::value(const QString &fileName) const;
    n'existe plus et devient:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Document::Ptr CPlusPlus::Snapshot::document(const QString &fileName) const;
    Dans src/shared/cplusplus/Symbol.h :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Name* CPlusPlus::Symbol::name() const;
    devient :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    const Name* CPlusPlus::Symbol::name() const;
    il faut donc changer le fichier doxygen.cpp :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ligne 86  : Name *name = owner->name();
    ligne 106 : Document::Ptr doc = snapshot.value(editor->file()->fileName());
    ligne 170 : Name *name = lastSymbol->name();
    en :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ligne 86  : const Name *name = owner->name();
    ligne 106 : Document::Ptr doc = snapshot.document(editor->file()->fileName());
    ligne 170 : const Name *name = lastSymbol->name();
    Peut être à ajouter :
    * visualiser les pages html dans Qt Creator (mise à jour automatiquement de la page consultée) pour permettre de passer directement entre le code et la documentation générée.
    * ajouter une barre de progression semblable à celle qui apparait lorsque l'on compile en bas à gauche (utiliser la classe ProgressManager)

    EDIT : et pourquoi pas un éditeur graphique de doc doxygen ? tu génères la doc en html à partir des fichiers sources et tu ajoutes de boutons d'édition dans le code html et tu affiches tout ça dans Qt creator. Ca serait pas mal

    Un plugin vraiment intéressant.

  12. #12
    Membre averti
    Profil pro
    Inscrit en
    Août 2009
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 26
    Par défaut Compilation Osx
    Bonjour,

    J'ai essayer de compiler ton plugin pour Mac mais il manque des headers.
    Tous les headers :
    - coreplugin
    - plugins
    - libs

    Je pense qu'il me manque des librairies pour compiler pour des plugins pour ce dernier ou bien elle sont placer a un autre endroit.

  13. #13
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut
    Salut
    Citation Envoyé par mak972 Voir le message
    Bonjour,

    J'ai essayer de compiler ton plugin pour Mac mais il manque des headers.
    Tous les headers :
    - coreplugin
    - plugins
    - libs

    Je pense qu'il me manque des librairies pour compiler pour des plugins pour ce dernier ou bien elle sont placer a un autre endroit.
    A mon avis, il faut que tu parte des source de QtCreator pour faire un plugin. A moins que tous sois fournie dans les repertoir de QtCreator.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. documentation de code : Doxygen ou phpDocumentor?
    Par hansaplast dans le forum Zend
    Réponses: 31
    Dernier message: 13/08/2007, 11h51
  2. [Outil] Doxygen et UTF-8
    Par sinok dans le forum Autres éditeurs
    Réponses: 8
    Dernier message: 31/08/2006, 03h36
  3. [Doxygene] Ignorer des fichiers
    Par chronos dans le forum Autres éditeurs
    Réponses: 1
    Dernier message: 28/07/2005, 11h24
  4. [Doxygen] Personnalisation de la main page
    Par mathieu_t dans le forum Autres langages
    Réponses: 2
    Dernier message: 20/07/2005, 09h47
  5. Doxygen: autodoc
    Par master57 dans le forum Autres éditeurs
    Réponses: 1
    Dernier message: 16/06/2004, 09h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo