KDevelop4/Manual/Sessioner og projekter

From KDE UserBase Wiki
This page is a translated version of the page KDevelop4/Manual/Sessions and projects and the translation is 100% complete.

Sessioner og projekter: KDevelops grundlag

I dette afsnit vil vi gennemgå noget af terminologien, som KDevelop bruger til at beskrive verden og strukturere sit arbejde. I særdeleshed vil vi introducere begreberne sessioner og projekter og forklare, hvordan du kan opsætte de projekter, som du vil arbejde på i KDevelop.

Terminologi

KDevelop bruger begreberne sessioner og projekter. En session indeholder alle de projekter, som har noget med hinanden at gøre. I de eksempler, der følger antager vi, at du både udvikler et bibliotek og et program, som bruger det. Du kan tænke på en centralt KDE-bibliotek som det første og KDevelop som det andet. Et andet eksempel kunne være en Linux-kerneudvkler, som også arbejder på en enhedsdriver til Linux, som ikke er indføjet i selve kernen endnu.

Tager vi det sidste som eksempel, så ville du have en session i KDevelop, som har to projekter: Linux-kernen og enhedsdriveren. Du vil nok samle dem i en enkelt session (i stedet for at have to sessioner med et projekt i hver), fordi det vil være nyttigt at kunne se kernefunktioner og -datastrukturer i KDevelop, når du skriver kildekode til driveren — så kan du for eksempel få navne på kernefunktioner og -variable automatisk fuldført, og du kan se dokumentation for kernefunktioner mens du arbejder med driveren.

Forestil dig nu, at du også er en KDE-udvikler. Du kan så have endnu en session, som indeholder KDE som et projekt. Du kan i princippet nøjes med én session til det hele, men det er der ingen grund til: når du arbejder med KDE, så har du ikke brug for adgang til kerne- og enhedsdriver-funktioner; og du har ikke brug for automatisk færdiggørelse af KDE-klassenavne, mens du arbejder på Linux-kernen. Endelig er bygning af KDE-biblioteker uafhængig af bygning af Linux-kernen (hvorimod det altid er en god idé at bygge Linux-kernen igen, når du har bygget enhedsdriveren, hvis nogle af kerne-headerne er blevet ændret).

Endelig kan du bruge sessioner, hvis du både arbejder på den aktuelle udviklingsversion af et projekt og på en gren: i det tilfælde vil du ikke have, at KDevelop forveksler klasser, som hører til hovedudgaven med nogle, som tilhører grenen, så du vil bruge to sessioner med det samme sæt af projekter men fra forskellige mapper (svarende til de forskellige udviklingsudgaver).

Opsætning af en session og import af et eksisterende projekt

Lad os holde os til eksemplet med Linux-kernen og enhedsdriveren — du kan erstatte dem med dit egen sæt af biblioteker og projekter. For at lave en ny session, som indeholder to projekter går du til menuen Session -> Start ny session øverst til venstre (eller hvis det er første gang, du bruger KDevelop, så kan du simpelt hen bruge den tomme standardsession, som du får til at begynde med). Nu vil vi populere denne session med projekter, som vi for nu vil antage allerede findes et eller andet sted (tilfældet, hvor vi laver et projekt fra grunden af omtales andetsteds i denne manual). Til dette er det overordnet set to metoder afhængigt af, om projektet allerede findes et sted på din harddisk eller om det skal downloades fra en server.

1. mulighed: Importér et projekt fra et versionskontrolsystemes server

Lad os først antage, at det projekt, som vi vil opsætte &emdash; Linus-kernen — findes i et versionskontrolsystem på en server, men at du ikke har overført det til din harddisk endnu. I dette tilfælde bruger du menuen Projekt til at oprette Linux-kernen som et projekt i den aktuelle session og så følge disse skridt:

  • Gå til menuen Projekter -> Hent projekt... for at importere et projekt
  • Du har nu flere muligheder for at starte et nyt projekt i den aktuelle session afhængigt af, hvor kildefilen kommer fra: Du kan dirigere KDevelop til en eksisterende mappe (se valgmulighed 2 herunder) eller du kan bede KDevelop om at hente kildekoden fra et arkiv.
  • Hvis du ikke allerede har overført en version:
    • I dropnedlisten under Vælg kilde vælg Subversion, Git eller en af de andre valgmuligheder
    • Vælg en arbejdsmappe, hvor kildekoden overføres til som destination
    • Vælg en URL for placeringen af arkivet, hvor kildekoden kan hentes
    • Klik på Hent. Dette kan tage ret lang tid afhængigt af, hvor hurtig din forbindelse er og hvor stort projektet er. Desværre viser fremskridtslinjen i KDevelop faktisk ingenting, men du kan følge fremgangen ved periodisk at se på outputtet af kommandoen
      du -sk /path/to/KDevelop/project
      for at se, hvor meget data der allerede er blevet downloadet.

Note

Problemet med fremgangslinjen er blevet rapporteret som KDevelop bug 256832.

Note

I denne proces får jeg også fejlmeddelsen Du skal angive en gyldig placering til projektet, som trygt kan ignoreres.


  • Du bliver bedt om at vælge en KDevelop-projektfil i denne mappe. Da du formodentlig ikke har sådan en endnu, så klikker du blot på Næste
  • Klik Næste igen
  • KDevelop vil nu bede dig om at vælge en projektmanager. Hvis projektet bruger almindelige Unix-makefiler, så vælg projektmanageren med hjemmelavet makefil
  • KDevelop vil nu begynde at fortolke hele projektet. Dette kan også tage en del tid at gennemgå alle filer, indeksere klasser osv. Nederst til højre i hovedvinduet er der en fremgangslinje, som viser, hvor langt processen er skredet frem. (Hvis du har mere end en processorkerne, så kan du accelerere denne proces ved at gå til menuen Indstillinger -> Indstil KDevelop..., gå til gruppen Baggrundsfortolker i venstre side og forøge antallet af tråde til baggrundsfortolkning.)

2. mulighed: Import af et projekt, som allerede findes på din harddisk

Alternativt, hvis projektet, som du vil arbejde med allerede findes på din harddisk (for eksempel fordi du har downloadet det som en tar-fil fra en FTP-server, fordi du allerede har overført en version af projektet fra et versionskontrolsystem eller fordi det er dit eget projekt, som kun findes på din egen harddisk), så brug dialogen Projekt -> Åbn/importér projekt.... Hvis projektet allerede har en makefil (eller CMakeList.txt) så navigér til den mappe, hvor projektet ligger og vælg makefilen; du får så en ny dialog, hvor du kan ændre projektets navn (som standard er navnet det samme som den mappe, som indeholder makefilen). For en makefil kan valget af Byggesystem forblive Projekthåndtering med hjemmelavet Makefile. Hvis du har en makefil med flere targets, så skal du vælge KørIndstil opstarter..., vælge Global og så klikke på knappen +Tilføj ny, vælge Oversat binær fil, vælge radioknappen Eksekverbar og angive den fulde sti til den eksekvérbare fil i tekstfeltet Eksekverbar.

Opsætning af et program som et andet projekt

Det næste, du skal gøre er at opsætte andre projekter i den samme session. I eksemplet ovenfor skal du tilføje enhedsdriveren som et andet projekt, hvilket du kan gøre på præcis samme måde.

Hvis du har flere programmer eller biblioteker, så gentager du simpelt hen processen for hvert projekt, som skal tilføjes til sessionen.

Lav projekter fra grunden

Det er selvfølgelig også den mulighed, at du vil starte et projekt fra bunden af. Dette kan gøres ved hjælp af menuen Projekt -> Ny fra skabelon..., som præsenterer dig for en dialog til at vælge en skabelon. Nogle projektskabeloner følger med KDevelop, men du får endnu flere ved at installere programmet KAppTemplate. Vælg projekttypen og programmeringssproget i dialogen, giv projektet et navn og vælg en placering og klik så på Næste

Dialogens anden side kommer nu frem, hvor du kan opsættte et versionskontrolsystem. Vælg det system du vil bruge og udfyld eventuelle systemspecifikke indstillinger. Hvis du ikke vil bruge et versionskontrolsystem eller vil opsætte det manuelt senere, så klik Ingen. Når du er tilfreds med dine valg klikker du på Afslut

Nu er dit projekt blevet oprettet, så du kan prøve at bygge eller installere det. Nogle skabeloner vil inkludere kommentarer i koden eller endda i en separat README-fil og det anbefales, at du læser dem først. Så kan du begynde at arbejde på dit projekt og tilføje de funktioner du ønsker.