KDevelop4/Handbuch/Sitzungen und Projekte

From KDE Wiki Sandbox
Revision as of 11:58, 8 May 2012 by DaGeRe89 (talk | contribs) (Initiale Übersetzung)

Sitzungen und Projekte: Die Grundzüge von KDevelop

In diesem Kapitel wird ein Teil der Terminologie von KDevelop und wie KDevelops Stukturen arbeiten erläutert. Insbesondere wird das Konzept von Sitzungen und Projekten eingeführt und erklärt, wie Sie die Projekte mit denen sie arbeiten wollen einrichten.

Begrifflichkeiten

KDevelop nutzt das Konzept von Sitzungen und Projekten. Eine Sitzung beinhaltet alle Projekte die etwas miteinander zu tun haben. Nehmen wir beispielsweise an, Sie seien der Entwickler einer Bibliothek und einer Anwendung, die diese benutzt. Ein Beispiel hierfür ist die Entwicklung an KDevelop: hier könnten Sie die Kern-KDE Bibliothken als die Bibliothek und KDevelop als die benutzende Anwendung in einer Sitzung entwickeln. Ein anderes Beispiel wäre, wenn Sie als Linux-Kernel-Entwickler gleichzeitig parallel an einem Gerätetreiber für Linux arbeiten, der noch nicht in den Kernel-Baum gemergt wurde.

Im letztgenannten Beispiel würden wir in KDevelop eine Sitzung erstellen, die zwei Projekte hat: den Linux-Kernel und den Gerätetreiber. Man würde diese in eine einzige Sitzung zusammenfassen (statt zwei Sitzungen mit jeweils einem einzelnen Projekt), weil es hilfreich ist, die Kernelfunktionen und Datenstrukturen beim Schreiben von Quelltext für den Treiber zu sehen. Beispielsweise können Kernelfunktionen und Variablen auto-expandiert werden, oder man kann Kernelfunktionsdokumentationen sehen, während man am Gerätetreiber programmiert.

Stellen Sie sich nun vor, Sie wären auch KDE-Entwickler. Dann hätten Sie eine zweite Sitzung, die auch KDE als Projekt enthielte. Sie könnten natürlich nur eine Sitzung für alle Projekte haben, aber es gibt keinen Grund dafür: während Sie an KDE arbeiten, brauchen Sie keinen Zugriff auf den Kernel oder auf den Gerätetreiber. Sie würden auch nicht wollen, dass KDE Klassen autovervollständigt werden, während Sie am Linux-Kernel arbeiten. Weiterhin ist das Kompilieren der KDE Bibliotheklen unabhängig vom rekompilieren des Linux-Kernels (während das rekompilierne des Linux-Kernels nach Änderungen am Gerätetreiber sinnvoll ist, falls Headerdateien sich verändert haben).

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).

Eine Sitzung einrichten und ein bestehendes Projekt importieren

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 Session -> Start new session 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: Importing a project from a version control system server

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 Project menu to create the Linux kernel as a project inside the current session and then follow these steps:

  • Go to Projects -> Fetch project to import a project
  • You then have multiple options to start a new project in the current session, depending on where the source files should come from: You can just point KDevelop at an existing directory (see option 2 below), or you can ask KDevelop to get the sources from a repository.
  • Assuming you don't already have a version checked out:
    • In the dialog box, under Select the source, choose to use Subversion, Git, 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 Get. 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
      du -sk /path/to/KDevelop/project
      to see how much data has already been downloaded.
Note
The problem with the progress bar has been reported as KDevelop bug 256832.
Note
In this process, I also get the error message You need to specify a valid location for the project which can be safely ignored.


  • It asks you to select a KDevelop project file in this directory. Since you probably don't have one yet, simply hit Next
  • Hit Next again
  • KDevelop will then ask you to choose a project manager. If this project uses standard Unix make files, choose the custom makefile project manager
  • 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 Settings -> Configure KDevelop menu item, then selecting Background parser on the left, and increasing the number of threads for background parsing on the right.)

Option 2: Importing a project that is already on your hard drive

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 Projects -> Open/Import project and in the dialog box choose the directory in which your project resides.

Eine Anwendung als ein zweites Projekt einrichten

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.

If you have multiple applications or libraries, simply repeat the steps to add more and more projects to your session.

Projekte ganz neu erstellen

There is of course also the possibility that you want to start a new project from scratch. This can be done using the Projects -> New from template menu item. The details of what options this offers to you are described elsewhere in this manual.