KDevelop5/Manuel/Sessions et projets

From KDE Wiki Sandbox
Revision as of 23:04, 23 September 2022 by ChristianW (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Sessions et projets: les bases de KDevelop

Dans cette section, nous aborderons certains points de terminologie concernant la manière dont KDevelop voit le monde et comment il structure le travail. En particulier, nous introduirons le concept des sessions et celui des projets et expliquerons comment vous pourrez déclarer les projets sur lesquels vous voulez travailler à l'intérieur de KDevelop.

Terminologie

KDevelop utilise le concept de session et de project. Une session contient tous les projets qui ont quelque chose en commun. Dans les exemples ci-dessous, nous supposons que vous avez codé une bibliothèque et une application qui l'utilise. Pensez aux bibliothèques du coeur de KDE pour les premières et KDevelop pour le second. Un autre exemple: supposons que vous soyez un accroc du noyau Linux mais que vous travailliez aussi sur un gestionnaire d'équipement pour Linux qui n'a pas encore été intégré dans la dépendance du noyau.

Et donc, en prenant le dernier pour exemple, vous auriez une session dans KDevelop qui contient deux projets: le noyau Linux et le pilote de périphérique. Vous voudrez les rassembler à l'intérieur d'une même session (plutôt que d'avoir deux sessions avec un seul projet chacunes) car cela sera utile de pouvoir voir les fonctions du noyau et les structures de données dans KDevelop en même temps que vous écrirez le code source du pilote — par exemple afin d'avoir les fonctions du noyau et les noms des variables qui s'affichent automatiquement, ou bien afin de pouvoir voir la documentation des fonctions noyau alors que l'on développe le gestionnaire de périphérique.

Maintenant, imaginez que vous êtes aussi un développeur KDE. Ensuite, vous auriez une deuxième session qui contient KDE en tant que projet. Vous pouvez en principe avoir une seule session pour tout cela, mais il n'y a pas de raison valable: dans votre travail sur KDE, vous n'avez pas besoin d'accéder aux fonctions du noyau ou du pilote de périphérique; et vous ne voulez pas que les noms de classe KDE soient automatiquement développés en travaillant sur le noyau Linux. Enfin, la construction de certaines bibliothèques KDE est indépendante de la recompilation du noyau Linux (alors que chaque fois que vous compilez le pilote de périphérique, il serait bon de recompiler le noyau Linux si certains des fichiers d'entête du noyau ont changé).

Enfin, une autre utilisation pour les sessions est dans le cas où vous travaillez sur la version de développement actuelle d'un projet, en même temps que sur une branche: dans ce cas, vous ne voulez pas que 'KDevelop' perturbe les classes qui appartiennent à la branche principale et à celles de la branche dérivée, donc vous auriez deux sessions, avec le même ensemble de projets mais avec des répertoires différents (correspondant aux différentes branches de développement).

Démarrer une session et importer un projet existant

Restons avec l'exemple du noyau Linux et du pilote de périphérique — vous voudriez remplacer votre propre ensemble de bibliothèques ou de projets pour ces deux exemples. Pour créer une nouvelle session qui puisse contenir ces deux projets allez dans le menu Session -> Ouvrir une nouvelle session dans le coin supérieur gauche (ou bien, si c'est la première fois que vous utilisez KDevelop: utilisez simplement la session par défaut que vous avez eu à la première utilisation, et qui est vide). Ensuite, nous voulons remplir cette session avec des projets qui pour l'instant, nous le supposons, existent quelque part (le cas où les projets démarrent de zéro sera développé ailleurs dans ce manuel). Pour cela, il existe essentiellement deux méthodes, selon que le projet est déja quelque part sur votre disque dur ou bien qu'il doit être rapatrié d'un serveur.

Option 1: Importer un projet d'un serveur de système de gestion des versions

Supposons d'abord que le projet que nous voulons initialiser -- le noyau Linux -- est présent sous un système de contrôle de version sur un serveur, mais que vous ne l'avez pas encore ouvert pour le rapatrier sur votre disque dur. Dans ce cas, allez au menu Projet pour créer le noyau Linux en tant que projet à l'intérieur de la session courante puis suivez ces étapes :

  • Allez à Projets -> Rechercher un projet pour importer un projet
  • Ensuite vous avez plusieurs possibilités pour démarrer un nouveau projet dans la session courante, et cela en fonction de l'endroit où vos sources sont localisés : vous pouvez simplement faire pointer KDevelop vers un répertoire existant (voir option 2 ci-dessous), ou vous pouvez demander à KDevelop de récupérer les sources d'un dépôt.
  • En supposant que vous n'avez pas encore extrait de version:
    • Dans la boîte de dialogue, sous Choisir la source, sélectionnez l'utilisation de Sousversion, Git, ou l'un des autres choix
    • Choisissez un répertoire de travail comme destination dans lequel les sources seront extraits
    • Choisissez une URL comme adresse du dépôt contenant les fichiers source à extraire
    • Cliquez sur Obtenir. Ceci peut prendre du temps; selon la vitesse de votre liaison et la taille du projet. Malheureusement, dans KDevelop 4.2.x la barre de progression n'évolue pas, mais vous pouvez suivre cette progression en consultant périodiquement la sortie de la ligne de commande pour la commande suivante
      du -sk /path/to/KDevelop/project
      pour voir combien de données ont déjà été téléchargées.
Remarque
Le problème lié à la barre de progression a été référencé sous le numéro de bogue KDevelop 256832.
Remarque
Dans ce processus, j'obtiens aussi le message d'erreur Vous devez spécifier un chemin valide pour le projet qui peut être tout à fait ignoré.


  • Il vous est demandé de sélectionner un fichier projet KDevelop dans ce répertoire. Comme probablement vous n'en n'avez pas encore, cliquez simplement sur Suivant
  • Cliquez de nouveau sur Suivant
  • KDevelop vous demandera ensuite de choisir un gestionnaire de projet. Si ce projet utilise les fichiers make standards de Unix, choisissez le gestionnaire de projet du makefile client
  • Ensuite KDevelop commencera à scruter la totalité du projet. Là aussi, cela prendra un certain moment pour parcourir tous les fichiers, pour indexer toutes les classes, etc... . Dans le coin inférieur droit de la fenêtre principale, il y a une barre de progression qui indique la durée que prend ce processus. (Si votre processeur est à plusieurs coeurs, vous pouvez acccélérer ceci en allant sur l'élément de menu Configuration -> Configurer KDevelop , et en choisissant Analyser en tâche de fond sur la gauche, puis en augmentant le nombre de processus pour l'analyse en tâche de fond, sur la droite.)

Option 2: Importer un projet qui est déja présent sur votre disque dur

Ou bien, si le projet sur lequel vous voulez travailler existe déjà sur votre disque dur, (par exemple parce que vous l'avez déplié à partir d'un fichier .tar téléchargé d'un serveur FTP, parce que vous avez déjà extrait une version du projet à partir d'un système de contrôle de version, ou bien parce que c'est votre propre projet qui n'existe seulement que sur votre disque dur), alors

  • sélectionnez dans la barre du menu Projets -> Ouvrir/Importer un projet
  • dans la boîte de dialogue, séléctionnez le répertoire dans lequel se trouve votre projet
  • si le projet possède un fichier de construction tel que CMakelists.txt,*.pro file et makefile , alors sélectionnez le fichier pour ouvrir le projet.

Configurer une application en tant que second projet

La chose suivante que vous voudriez faire est de rajouter d'autres projets dans la même session. Dans l'exemple ci-dessus, vous voudriez ajouter le pilote de périphérique comme second projet, ce que vous pouvez faire en répétant exactement les mêmes étapes.

Si vous avez de multiples applications ou bibliothèques, répétez simplement les étapes pour ajouter de plus en plus de projets à votre session.

Créer des projets à partir de rien

Il y a bien sûr aussi la possibilité pour vous de démarrer un nouveau projet à partir de zéro. Cela peut être fait en utilisant l'élément de menu Projets -> Nouveau à partir du modèle... , qui s'ouvre avec un dialogue de sélection de modèles.

Quelques modèles de projets sont fournis avec KDevelop, vous pouvez en trouver d'autres sur internet en cliquant sur le bouton Obtenir davantage de modèles, ou encore plus en installant l'application KAppTemplate . Choisissez le type de projet et le langage de programmation dans le dialogue, entrez un nom et la localisation de votre projet, et cliquez sur Suivant.


La deuxième page de dialogue vous permet de configurer le système de contrôle de version. Sélectionnez le système que vous voulez, et remplissez ses paramètres de configuration le cas échéant. Si vous ne souhaitez pas utiliser un tel système de contrôle de version, ou si vous voulez le configurer manuellement plus tard, choisissez Aucun. Dès que vous êtes satisfait de vos choix, cliquez sur Terminé.

Votre projet est maintenant créé, vous pouvez donc essayer de le compiler et de l'installer. Quelques modèles vont inclure les commentaires dans le code, ou même dans un fichier README séparé, et il est recommander de les lire en priorité. Puis vous pourrez commencer à travailler sur votre projet, en ajoutant les fonctionalités que vous voulez.