KDevelop4/Manual/Sessions and projects/de: Difference between revisions

From KDE Wiki Sandbox
(Initiale Übersetzung)
(Updating to match new version of source page)
 
(23 intermediate revisions by 2 users not shown)
Line 7: Line 7:
===Begrifflichkeiten===
===Begrifflichkeiten===


'''KDevelop''' has the concept of ''sessions'' and ''projects''. A session contains all projects that have something to do with each other. For the examples that follow, assume you are the developer of both a library and an application that uses it. You can think of the core KDE libraries as the former and '''KDevelop''' as the latter. Another example: Let's say you are a Linux kernel hacker but you are also working on a device driver for Linux that hasn't been merged into the kernel tree yet.
'''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.


So taking the latter as an example, you would have a session in '''KDevelop''' that has two projects: the Linux kernel and the device driver. You will want to group them into a single session (rather than having two sessions with a single project each) because it will be useful to be able to see the kernel functions and data structures in '''KDevelop''' whenever you write source code for the driver — for example so that you can get kernel function and variable names auto-expanded, or so that you can see kernel function documentation while hacking on the device driver.  
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.  


Now imagine you also happen to be a KDE developer. Then you would have a second session that contains KDE as a project. You could in principle have just one session for all of this, but there is no real reason for this: in your KDE work, you don't need to access kernel or device driver functions; and you don't want KDE class names autoexpanded while working working on the Linux kernel. Finally, building some of the KDE libraries is independent of re-compiling the Linux kernel (whereas whenever you compile the device driver it would also be good to re-compile the Linux kernel if some of the kernel header files have changed).
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).
Außerdem gibt es noch eine andere Verwendung von Sitzungen: sofern man sowohl an der aktuellen Entwicklungsversion eines Projektes und an einem Branch arbeitet, will man nicht, dass '''KDevelop''' Klassen die zum Hauptzweig und Klassen die zum Branch gehören verwechselt. Deshalb benutzt man in diesem Fall zwei Sitzungen, die die selben Projekte aus verschiedenen Verzeichnissen enthalten (wobei die Verzeichnisse zu den Entwicklungszweigen korrespondieren).
<span id="Setting up a session and importing an existing project"></span>
<span id="Setting up a session and importing an existing project"></span>
===Eine Sitzung einrichten und ein bestehendes Projekt importieren===
===Eine Sitzung einrichten und ein bestehendes Projekt importieren===


Let's stick with the Linux kernel and device driver example &mdash; 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 <menuchoice>Session -> Start new session</menuchoice> 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).
Bleiben wir bei dem Linux-Kernel- und Gerätetreiberbeispiel. Sie können diese durch ihre eigenen Bibliotheken und Projekte ersetzen. Um eine neue Sitzung, dass diese Projekt enthält, zu straten, gehen sie auf <menuchoice>Sitzung -> Neue Sitzung starten</menuchoice> oben links (oder, sollte das ihre erste Benutzung von '''KDevelop''' sein, benutzen sie einfach die leere Default-Sitzung).
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.
Als nächstes wollen wir diese Sitzung mit Projekten füllen, von denen wir im Moment annehmen, dass sie bereits irgendwo existieren (Der Erstellen neuer Projekte ist an anderer Stelle in diesem Handbuch beschrieben). Für den Import existierender Projekte existieren hauptsächlich zwei Methoden, abhängig davon, ob das Projekt bereits auf der Festplatte ist oder ob es von einem Server heruntergeladen werden muss.


==== Option 1: Importing a project from a version control system server ====
==== Option 1: Projekt aus einem Versionskontrollsystemserver importieren ====


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 <menuchoice>Project</menuchoice> menu to create the Linux kernel as a project inside the current session and then follow these steps:
Nehmen wir als erstes an, dass das Projekt, das wir aufsetzen wollen -- der Linux-Kernel -- in einem Versionskontrollsystem auf einem Server ist, aber das er noch nicht auf die lokale Festplatte ausgecheckt wurde. Gehen Sie in diesem Fall zum <menuchoice>Projekt</menuchoice>-Menü um das Linux-Kernel-Projekt als Projekt in der derzeitigen Sitzung zu erstellen. Befolgen Sie hierfür die folgenden Schritte:


* Go to <menuchoice>Projects -> Fetch project</menuchoice> to import a project
* Gehen Sie auf <menuchoice>Projekte -> Projekt holen</menuchoice> um ein Projekt zu importieren


* 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.
* Sie haben nun verschiedene Möglichkeiten um ein neues Projekt in der derzeitigen Sitzung zu starten, abhängig davon, woher die Quelltexte kommen sollen: Sie können einfach ein existierendes Verzeichnis nutzen (Siehe Option 2 weiter unten), oder Sie können die Quelltexte aus einem Repository herunterladen.


* Assuming you don't already have a version checked out:
* Angenommen Sie haben noch keine Version ausgecheckt:
** In the dialog box, under <menuchoice>Select the source</menuchoice>, choose to use <menuchoice>Subversion</menuchoice>, <menuchoice>Git</menuchoice>, or one of the other choices
** Wählen Sie in der Dialogbox unter <menuchoice>Nichts beschaffen</menuchoice> einen Repository-Typ, beispielsweise <menuchoice>Subversion</menuchoice> oder <menuchoice>Git</menuchoice>
** Choose a working directory as destination into which the sources should be checked out
** Wählen Sie ein Arbeitsverzeichnis in das die Quelltexte ausgecheckt werden sollen
** Choose an URL for the location of the repository where the source files can be obtained
** Geben Sie die URL des Repositorys an, aus dem die Quelltexte heruntergealden werden sollen
** Hit <menuchoice>Get</menuchoice>. 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 {{Input|1=du -sk /path/to/KDevelop/project}} to see how much data has already been downloaded.
** Drücken Sie <menuchoice>Holen</menuchoice>. Das Herunterladen kann, abhängig von Ihrer Verbindungsgeschwindigkeit und der Projektgröße, eine zeitlang dauern.  
(Ungücklicherweise funktioniert der Fortschrittsbalken in '''KDevelop''' 4.2.x nicht, allerdings kann man mittels der Befehlszeile kontrollieren, wie viel schon heruntergeladen wurde: {{Input|1=du -sk /path/to/KDevelop/project}})


{{Note|1=The problem with the progress bar has been reported as [http://bugs.kde.org/show_bug.cgi?id=256832 KDevelop bug 256832].}}
{{Note|1=The problem with the progress bar has been reported as [http://bugs.kde.org/show_bug.cgi?id=256832 KDevelop bug 256832].}}
{{Note|1=In this process, I also get the error message ''You need to specify a valid location for the project'' which can be safely ignored.}}
{{Note|1=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 <menuchoice>Next</menuchoice>
* Als nächstes fragt der Dialog nach einer Projektdatei in diesem Verzeichnis. Da Sie derzeitig vermutlich keine besitzen, betätigen Sie einfach <menuchoice>Next</menuchoice>


* Hit <menuchoice>Next</menuchoice> again
* Drücken Sie erneut <menuchoice>Next</menuchoice>


* '''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''' bittet Sie nun, einen Projektmanager auszuwählen. Wenn dieses Projekt Standard-Unix-Makefiles nutzt, wählen Sie den 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 <menuchoice>Settings -> Configure KDevelop</menuchoice> menu item, then selecting <menuchoice>Background parser</menuchoice> on the left, and increasing the number of threads for background parsing on the right.)
* '''KDevelop''' wird nun damit anfangen, das gesamte Projekt zu parsen. Dies kann wieder eine zeitlang dauern, da dafür alle Dateien und Indexklassen etc. durchlaufen werden müssen. Unten rechts im Hauptfenster ist ein Fortschrittsbalken, der zeigt, wie weit der Prozess fortgeschritten ist. (Wenn Sie mehrere Kerne haben, können Sie diesen Prozess beschleunigen, indem sie auf <menuchoice>Einstellungen -> Configure KDevelop</menuchoice> gehen, dannach <menuchoice>Background parser</menuchoice> auf der linken Seite selektieren und dann eine erhöhte Threadzahl für das Hintergrundparsen rechts einstellen)


==== Option 2: Importing a project that is already on your hard drive ====
==== Option 2: Projekt importieren das bereits auf der Festplatte ist ====


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 <menuchoice>Projects -> Open/Import project</menuchoice> and in the dialog box choose the directory in which your project resides.
Sofern das Projekt, mit dem Sie arbeiten wollen, bereits auf der Festplatte existiert (beispielsweise weil Sie es von einem FTP Server heruntergeladen haben, weil Sie es bereits von einem Versionskontrollsystem ausgecheckt haben oder weil es ein Projekt ist, das ''nur'' auf ihrer Festplatte existiert), dann nutzen sie <menuchoice>Projekt -> Projekt öffnen/importieren</menuchoice> und wählen Sie in der Dialogbox das Verzeichnis, in dem sich das Projekt befindet.
<span id="Setting up an application as a second project"></span>
<span id="Setting up an application as a second project"></span>
===Eine Anwendung als ein zweites Projekt einrichten===
===Eine Anwendung als ein zweites Projekt einrichten===


The next thing you want to do is set up other projects in the
Die nächste Sache, die Sie tun können, ist andere Projekte in die selbe Sitzung zu importieren. In dem obigen Beispiel könnten Sie das Gerätetreiberprojekt als zweites Projekt importieren. Dies ist mit den selben Schritten möglich.
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
Wenn sie mehrere Anwendungen oder Bibliotheken haben, wiederholen Sie diese Schritte um mehr und mehr Projekte zu Ihrer Sitzung hinzuzufügen.
more and more projects to your session.
<span id="Creating projects from scratch"></span>
<span id="Creating projects from scratch"></span>
===Projekte ganz neu erstellen===
===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 <menuchoice>Projects -> New from template</menuchoice> menu item. The details of what options this offers to you are described elsewhere in this manual.
There is of course also the possibility that you want to start a new project from scratch. This can be done using the <menuchoice>Projects -> New from Template</menuchoice> menu item, which presents you with a template selection dialog. Some project templates are provided with '''KDevelop''', but even more are available by installing the '''KAppTemplate''' application. Choose the project type and programming language from the dialog, enter a name and location for you project, and click <menuchoice>Next</menuchoice>.
 
[[Image:kdevelop-project-dialog.png|thumb|500px|center]]
 
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 <menuchoice>None</menuchoice>. When you are happy with your choice,  press <menuchoice>Finish</menuchoice>.
 
Your project is now created, so you can try building or installing it. Some templates will include comments within the code, or even a separate README file, and it is recommended that you read those first. Then, you can start working on your project, by adding whatever features you want.  


{{Prevnext2
{{Prevnext2

Latest revision as of 05:00, 19 April 2018

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

Außerdem gibt es noch eine andere Verwendung von Sitzungen: sofern man sowohl an der aktuellen Entwicklungsversion eines Projektes und an einem Branch arbeitet, will man nicht, dass KDevelop Klassen die zum Hauptzweig und Klassen die zum Branch gehören verwechselt. Deshalb benutzt man in diesem Fall zwei Sitzungen, die die selben Projekte aus verschiedenen Verzeichnissen enthalten (wobei die Verzeichnisse zu den Entwicklungszweigen korrespondieren).

Eine Sitzung einrichten und ein bestehendes Projekt importieren

Bleiben wir bei dem Linux-Kernel- und Gerätetreiberbeispiel. Sie können diese durch ihre eigenen Bibliotheken und Projekte ersetzen. Um eine neue Sitzung, dass diese Projekt enthält, zu straten, gehen sie auf Sitzung -> Neue Sitzung starten oben links (oder, sollte das ihre erste Benutzung von KDevelop sein, benutzen sie einfach die leere Default-Sitzung). Als nächstes wollen wir diese Sitzung mit Projekten füllen, von denen wir im Moment annehmen, dass sie bereits irgendwo existieren (Der Erstellen neuer Projekte ist an anderer Stelle in diesem Handbuch beschrieben). Für den Import existierender Projekte existieren hauptsächlich zwei Methoden, abhängig davon, ob das Projekt bereits auf der Festplatte ist oder ob es von einem Server heruntergeladen werden muss.

Option 1: Projekt aus einem Versionskontrollsystemserver importieren

Nehmen wir als erstes an, dass das Projekt, das wir aufsetzen wollen -- der Linux-Kernel -- in einem Versionskontrollsystem auf einem Server ist, aber das er noch nicht auf die lokale Festplatte ausgecheckt wurde. Gehen Sie in diesem Fall zum Projekt-Menü um das Linux-Kernel-Projekt als Projekt in der derzeitigen Sitzung zu erstellen. Befolgen Sie hierfür die folgenden Schritte:

  • Gehen Sie auf Projekte -> Projekt holen um ein Projekt zu importieren
  • Sie haben nun verschiedene Möglichkeiten um ein neues Projekt in der derzeitigen Sitzung zu starten, abhängig davon, woher die Quelltexte kommen sollen: Sie können einfach ein existierendes Verzeichnis nutzen (Siehe Option 2 weiter unten), oder Sie können die Quelltexte aus einem Repository herunterladen.
  • Angenommen Sie haben noch keine Version ausgecheckt:
    • Wählen Sie in der Dialogbox unter Nichts beschaffen einen Repository-Typ, beispielsweise Subversion oder Git
    • Wählen Sie ein Arbeitsverzeichnis in das die Quelltexte ausgecheckt werden sollen
    • Geben Sie die URL des Repositorys an, aus dem die Quelltexte heruntergealden werden sollen
    • Drücken Sie Holen. Das Herunterladen kann, abhängig von Ihrer Verbindungsgeschwindigkeit und der Projektgröße, eine zeitlang dauern.

(Ungücklicherweise funktioniert der Fortschrittsbalken in KDevelop 4.2.x nicht, allerdings kann man mittels der Befehlszeile kontrollieren, wie viel schon heruntergeladen wurde:

du -sk /path/to/KDevelop/project

)

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.


  • Als nächstes fragt der Dialog nach einer Projektdatei in diesem Verzeichnis. Da Sie derzeitig vermutlich keine besitzen, betätigen Sie einfach Next
  • Drücken Sie erneut Next
  • KDevelop bittet Sie nun, einen Projektmanager auszuwählen. Wenn dieses Projekt Standard-Unix-Makefiles nutzt, wählen Sie den Custom Makefile Project Manager.
  • KDevelop wird nun damit anfangen, das gesamte Projekt zu parsen. Dies kann wieder eine zeitlang dauern, da dafür alle Dateien und Indexklassen etc. durchlaufen werden müssen. Unten rechts im Hauptfenster ist ein Fortschrittsbalken, der zeigt, wie weit der Prozess fortgeschritten ist. (Wenn Sie mehrere Kerne haben, können Sie diesen Prozess beschleunigen, indem sie auf Einstellungen -> Configure KDevelop gehen, dannach Background parser auf der linken Seite selektieren und dann eine erhöhte Threadzahl für das Hintergrundparsen rechts einstellen)

Option 2: Projekt importieren das bereits auf der Festplatte ist

Sofern das Projekt, mit dem Sie arbeiten wollen, bereits auf der Festplatte existiert (beispielsweise weil Sie es von einem FTP Server heruntergeladen haben, weil Sie es bereits von einem Versionskontrollsystem ausgecheckt haben oder weil es ein Projekt ist, das nur auf ihrer Festplatte existiert), dann nutzen sie Projekt -> Projekt öffnen/importieren und wählen Sie in der Dialogbox das Verzeichnis, in dem sich das Projekt befindet.

Eine Anwendung als ein zweites Projekt einrichten

Die nächste Sache, die Sie tun können, ist andere Projekte in die selbe Sitzung zu importieren. In dem obigen Beispiel könnten Sie das Gerätetreiberprojekt als zweites Projekt importieren. Dies ist mit den selben Schritten möglich.

Wenn sie mehrere Anwendungen oder Bibliotheken haben, wiederholen Sie diese Schritte um mehr und mehr Projekte zu Ihrer Sitzung hinzuzufügen.

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, which presents you with a template selection dialog. Some project templates are provided with KDevelop, but even more are available by installing the KAppTemplate application. Choose the project type and programming language from the dialog, enter a name and location for you project, and click Next.

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 None. When you are happy with your choice, press Finish.

Your project is now created, so you can try building or installing it. Some templates will include comments within the code, or even a separate README file, and it is recommended that you read those first. Then, you can start working on your project, by adding whatever features you want.