KDevelop 4.4

Posté par  (site web personnel, Mastodon) . Édité par Davy Defaud, Anthony Jaguenaud, baud123, Nils Ratusznik, Anonyme, Nÿco et claudex. Modéré par Nÿco. Licence CC By‑SA.
Étiquettes :
30
25
oct.
2012
KDE

La 4.4 est une petite version pour KDevelop, l’environnement de développement intégré du bureau KDE. À part quelques corrections de bogues et l’amélioration des performances, la seule et réelle nouveauté est esthétique et s’adresse principalement aux nouveaux venus : un écran de bienvenue !

Logo de KDevelop

Développé par Aleix Pol en QML/Plasma, cet écran de bienvenue est destiné à remplacer l’écran tout gris qui s’ouvre à vous au lancement. Pour aider les nouveaux venus (mais pas seulement) à surmonter ce fameux syndrome de la page griseblanche et les aider à bootstradémarrer, ce nouvel écran vous propose un certain nombre d’actions en fonction du contexte. Les utilisateurs expérimentés apprécieront le petit coup d’accélérateur au démarrage. Voilà, c’est tout. La vidéo donnée en lien vous éclairera un peu plus. Beaucoup d’IDE proposent un écran de bienvenue, mais KDevelop ne le faisait pas. Le mal est maintenant réparé.

Cette faiblesse du journal des modifications ne doit pas tempérer ce qui arrive pour la version suivante. KDevelop 4.3 ajoutait principalement une prise en charge basique du C++11, la version 4.5 semble plus prometteuse.

Enfin, si vous voulez un petit retour d’expérience concret sur l’utilisation de KDevelop et de ce que donne sa coloration syntaxique, n’hésitez pas à aller lire le journal de Gof sur le sujet.

NdM : Merci à Anthony Jaguenaud, Nÿco et Bruno pour leur participation à cette dépêche.

Petit retour sur KDevelop

Comme nous n’en avons pas parlé depuis un certain temps, voici un petit retour sur les fonctionnalités proposées par KDevelop, afin de les (re)découvrir.

Intégration complète à KDE 4

KDevelop est intégré à KDE 4, aussi bien visuellement que côté fonctionnalités. Il utilise son module d’édition de texte (Kate), permet d’accéder aux fichiers depuis le réseau en utilisant les KIO, et propose un petit terminal basé sur Konsole.

Gestion des projets

KDevelop est capable d’ouvrir plusieurs projets en même temps, ainsi que de naviguer dedans. Il permet, pour les langages gérés (C++ et PHP de base, plein d’autres grâce aux greffons), de retrouver le fichier contenant la déclaration d’une fonction. Ces projets peuvent se baser sur CMake (utilisé par KDE et d’autres), les Autotools (utilisés par beaucoup de monde), ainsi que QMake (applications Qt pures) avec un greffon.

La gestion des projets est assez complète et permet, depuis l’interface graphique, de compiler et lancer les différents exécutables du projet (avec reconstruction de bibliothèques, nettoyage, etc.).

Intégration de GDB

Les projets lancés peuvent être débogués grâce à GDB. Des points d’arrêt peuvent être placés, on peut sauter des instructions, etc. Un point intéressant est que, lors du débogage, l’interface de KDevelop s’adapte pour proposer des fonctionnalités plus adaptées. En effet, on peut trouver en haut à droite de sa fenêtre trois onglets : Code, Débogage et Revue de code. Chacun permettant de transformer l’interface pour qu’elle soit la plus adaptée possible à un style (programmation, débogage pour gestion des révisions et des patches).

Coloration syntaxique et compréhension des sources

La coloration syntaxique de KDevelop est très complète, et se base sur une solution maison. Cette architecture permet d’analyser le code source des programmes développés et des en‐têtes utilisés, et comprend une grosse partie de la syntaxe. Ainsi, toutes les opérations de réusinage (par exemple, le changement de nom d’une fonction, avec adaptation de tous les fichiers du projet automatiquement) sont facilitées et très efficaces.

La coloration syntaxique basique est gérée pour tous les langages compris de Kate, soit une cinquantaine, dont le C, C++, Python, PHP, JavaScript, les langages basés sur XML, l’assembleur (y compris VHDL et autres), les variantes du SQL, le Perl, le fichier xorg.conf, etc. Les langages C, C++, CMake et PHP disposent d’une coloration plus poussée (variables en couleur, erreurs de compilation mises en avant) et de la compréhension du code. D’autres langages (Python, Ruby, CSS, HTML, etc.) sont plus ou moins gérés par des greffons externes.

Grâce à la compréhension des sources, KDevelop propose des solutions lorsqu’il en trouve. Ici, il propose d’ajouter #include <stdio.h>
Proposition d’include

L’_include_ a bien été rajouté. Immédiatement, KDevelop propose le prototype de la fonction concernée.
Résultat

Lorsqu’on écrit du code avec des données structurées, il arrive souvent qu’une structure class n’a pas encore un champ dont nous avons besoin. Là encore, KDevelop est d’une grande aide. La structure toto ne contient que le champ champ1. Mais, dans la fonction, un champ a été rajouté. Lorsque le « ; » est tapé, KDevelop en déduit le type, et propose de l’ajouter à la structure.

Ajout d’un champ dans une structure

Voici le résultat :
Résultat de l’ajout d’un champ dans une structure

Cette fonctionnalité fonctionne parfaitement avec le C++.

Prise en charge des gestionnaires de révision

Les gestionnaires de révision comme Git, Subversion, Mercurial et Bazaar sont gérés par KDevelop, et permettent de consulter les patches entre deux versions, de revenir à la version précédente d’un fichier, de mettre à jour son dépôt, d’envoyer ses modifications, etc. Ces fonctionnalités prennent place dans l’onglet Revue de code, en haut à droite de la fenêtre de KDevelop.

Intégration de la documentation

La documentation dans KDevelop est disponible presque partout. Il est possible d’utiliser un panel affichant la documentation de Qt, CMake et même les pages de manuel.

Panneau d’aide Qt Panneau d’aide avec les pages de manuel
Panel d’aide Panel d’aide 2

Aller plus loin

  • # Hébergement des images

    Posté par  . Évalué à 2.

    Salut,
    J’ai mis des images que j’ai faites. Mais hélas, je n’ai pas trouvé comment les télécharger sur linuxfr… donc elles sont sur mon serveur. Rien de grave en soit, juste que je ne garanti pas qu’elles resteront disponible dix ans…
    Si quelqu’un pouvait sans occuper ?

  • # Petite correction

    Posté par  (site web personnel) . Évalué à 4.

    Le premier lien de la liste annonce fièrement « Annonce de KDE 4.4 ».
    Il me semble que ce devrait être « Annonce de KDevelop 4.4 ».

    • [^] # Re: Petite correction

      Posté par  . Évalué à 3.

      Corrigé. Merci.

      « Rappelez-vous toujours que si la Gestapo avait les moyens de vous faire parler, les politiciens ont, eux, les moyens de vous faire taire. » Coluche

    • [^] # Re: Petite correction

      Posté par  . Évalué à 3.

      Le premier lien de la liste annonce fièrement « Annonce de KDE 4.4 ».

      Oui, j'ai été beaucoup déçu aussi, je croyais que Wheezy était sortie en stable.

  • # Essayons

    Posté par  . Évalué à -4.

    Quelqu'un aurait le lien pour télécharger la version windows ?

    • [^] # Re: Essayons

      Posté par  . Évalué à 2.

      Tu aurais pu attendre 6h avant de poster ; vendredi c'est demain…

      • [^] # Re: Essayons

        Posté par  . Évalué à -1.

        ouais mais demain vendredi ça ne sera plus demain…

  • # kdevelop et tortoisehg

    Posté par  . Évalué à 2.

    La dépêche m'a donné envie de tester Kdevelop, pour sortir de mon vim… J'avoue ça donne sacrément envie.

    Mais savez-vous s'il est prévu une intégration de tortoiseHG dans Kdevelop ?

    tortoise est très complet pour la gestion de version, il pourrait être très sympa de l'avoir intégré comme il faut dans kdevelop.

    • [^] # Re: kdevelop et tortoisehg

      Posté par  . Évalué à 1.

      kdevelop a son propre système de gestion des système de contrôle de sources.
      Il est suffisant pour les tâches simples mais malheureusement assez incomplet pour tout ce qui est utilisation avancée, hors du cadre classique.
      Je ne sais pas s'il y a un greffon HG disponible, à ma connaissance, il gère (au moins) svn et git.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.