KDevelop4/Handbuch/Sitzungen und Projekte

From KDE Wiki Sandbox
Revision as of 05:00, 19 April 2018 by FuzzyBot (talk | contribs) (Updating to match new version of source page)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

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.