KDevelop5/Manuel/Sessions et projets
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é).
Finally, another use for sessions is if you work both on the current development version of a project, as well as on a branch: in that case, you don't want KDevelop to confuse classes that belong to mainline and the branch, so you'd have two sessions, with the same set of projects but from different directories (corresponding to different development branches).
Démarrer une session et importer un projet existant
Let's stick with the Linux kernel and device driver example — you may want to substitute your own set of libraries or projects for these two examples. To create a new session that contains these two projects go to the
menu at the top left (or, if this is the first time you use KDevelop: simply use the default session you get on first use, which is empty). We next want to populate this session with projects that for the moment we assume already exist somewhere (the case of starting projects from scratch is discussed elsewhere in this manual). For this, there are essentially two methods, depending on whether the project already is somewhere on your hard drive or whether it needs to be downloaded from a server.Option 1: Importer un projet d'un serveur de système de gestion des versions
Let's first assume that the project we want to set up -- the Linux kernel -- resides in some version control system on a server, but that you haven't checked it out to your local hard drive yet. In this case, go to the
menu to create the Linux kernel as a project inside the current session and then follow these steps:- Allez à 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.
- Assuming you don't already have a version checked out:
- In the dialog box, under , choose to use , , or one of the other choices
- Choose a working directory as destination into which the sources should be checked out
- Choose an URL for the location of the repository where the source files can be obtained
- Hit
du -sk /path/to/KDevelop/project
to see how much data has already been downloaded. . This can take quite a long while; depending on the speed of your connection and the size of the project. Unfortunately, in KDevelop 4.2.x the progress bar does not actually show anything, but you can track progress by periodically looking at the output of the command line command
- 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
- Cliquez de nouveau sur
- 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
- KDevelop will then start to parse the entire project. Again, it will take quite a while to go through all files and index classes etc. At the bottom right of the main window, there is a progress bar that shows how long this process has come along. (If you have several processor cores, you can accelerate this process by going to the menu item, then selecting on the left, and increasing the number of threads for background parsing on the right.)
Option 2: Importer un projet qui est déja présent sur votre disque dur
Alternatively, if the project you want to work with already exists on your hard drive (for example, because you have downloaded it as a tar file from an FTP server, because you already checked out a version of the project from a version control system, or because it is your own project that exists only on your own hard drive), then use
and in the dialog box choose the directory in which your project resides.Configurer une application en tant que second projet
The next thing you want to do is set up other projects in the same session. In the example above, you would want to add the device driver as the second project, which you can do using exactly the same steps.
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 de rien. Cela peut être fait en utilisant l'élément de menu
, 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 , 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 .
The second page of the dialog allows you to set up a version control system. Choose the system you wish the use, and fill in the system-specific configuration if needed. If you do not wish to use a version control system, or want to set it up manually later, choose . When you are happy with your choice, press .
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.