Pluginværktøjer |
forrige | næste |
KDevelop indeholder et stort antal små værktøjer, som hjælper dig med at udføre visse opgaver. De fleste fungerer som plugin. Det betyder at hvis du ikke behøver et plugin kan du helt enkelt deaktivere det.
Det betyder også at hvis du leder efter funktioner som skal findes, men ikke gør det, så er de måske implementerede i et plugin og dette plugin er deaktiveret. Der er for eksempel en funktion for hurtigåbning i menuen Fil, men kun hvis den er aktiveret i dialogen Projekt - Projektindstillinger.
Teknisk er plugin baserede på klassen KDevPlugin definered i lib/interfaces/kdevplugin.h. Det følgende kommer fra en kommentar der.
KDevPlugin er basisklassen for alle plugin i KDevelop. Et plugin er en komponent som indlæses i KDevelop-skallen ved start eller efter forespørgsel. Et plugin har en omfattelse som enten kan være:
Kerneplugin er globale plugin som tilbyder nogle vigtige funktioner for "kernen", og derfor ikke kan vælges af brugeren på indstillingssiderne for plugin.
Globale plugin er dem som kun kræver at skallen er indlæst og ikke benytter sig af grænsefladen KDevProject og/eller bruger information der berører hele projektet. For eksempel tillader pluginnet grafisk grænsefladetilstand udviklere at vælge hvilke brugergrænseflade de vil bruge.
Projektplugin kræver at et projekt er indlæst, og indlæses eller fjernes sammen med projektet. Hvis et plugin benytter sig af projektrelateret information er det et projektplugin. Håndtering af Automake behøver for eksempel kun være aktivt når et projekt baseret på Automake for øjeblikket er indlæst.
Som nævnt ovenfor kan kerneplugin ikke deaktiveres. Globale plugin kan aktiveres eller deaktiveres med -> under . Projektplugin kan aktiveres eller deaktiveres med -> under . Aktive plugin kan give mange effekter i KDevelop. Afhængig af deres funktion kan de tilføje ekstra menuer, ekstra menupunkter, ekstra knapper i værktøjslinjen, osv.
Plugin som er deaktiverede roder ikke menuerne til og indlæses ikke i hukommelsen.
Følgende liste over plugin genereres af et lille script (listplugins.sh) skrevet af Volker Paul. Alle plugin har en .desktop-fil hvor information såsom navn og kommentarer skrives. Hvis kommentarerne i det følgende ikke er særligt nyttige, skyldes det på at pluginnets forfattere lavede dem på den måde.
Pluginnerne er grupperede efter omfattelse (Kerne, Global, Projekt).
Omfattelse: Kerne
Omfattelse: Global
Ekspansion af forkortelser. Giver understøttelse for indstillelige forkortelser: korte ord som ekspanderes til almindeligt brugte kodestrukturer.
Dokumentation. Dokumentationspluginnet tilbyder at browse og søge i lokal dokumentation og dokumentation på nettet, med understøttelse for flere dokumentationssystemer.
Filliste. Sørger for en liste af alle for øjeblikket åbne filer. (Praktisk når fanebladslinjen ikke er rigtig bred nok.)
Filvælger. Kraftfuldt netværkstransparent filbrowserværktøj.
Skalfiltrering og indsætning. Tilbyder en måde at behandle editortekst med kommandolinjeværktøj. Findes i værktøjsmenuen.
Grænseflade for grep. Integrerer "find | grep" med KDevelop - tillader hurtig søgning i flere filer med mønster eller regulære udtryk.
Indlejret terminal. Pluginnet giver KDevelop en indbygget terminal for hurtig og enkel adgang til kommandolinjen.
Menutilføj "Åbn med". Pluginnet sørger for yderligere "åbn" alternativer i diverse sammenhængsafhængige menuer i KDevelop.
Part-udforskerværktøj. Et grafisk værktøj til at udføre KTrader-lignende forespørgsler om registrerede tjenester.
Test af regulære udtryk. Værktøj til at oprette og teste regulære udtryk mod almindelig syntaks for regulære udtryk.
Erstatningspart. Pluginnet er et interaktivt værktøj til at "søge og erstatte" i hele projektet. Søg med en streng eller et regulært udtryk, og vælg erstatningen som skal gøres ud fra en forhåndsvisning inden handlingen udføres. Når det er indlæst vises det i redigeringsmenuen.
Scripter. Skriptpluginnet tilbyder KScript-baseret styring af programmet KDevelop.
Kodestumper. Dette plugin gør det muligt at opbevare kodestumper og tilføje dem til din kode
Tekststruktur. Sørger for en strukturoversigt og navigering for HTML- og TeX-filer
Tilføjelse i værktøjsmenuen. Pluginnet sørger for en nem måde at tilføje eksterne programmer i værktøjsmenuen og værktøjslinjen.
Valgrind-grænseflade. Valgrind er et værktøj som hjælper dig med at finde hukommelseshåndteringsproblemer i programmer. http://developer.kde.org/~sewardj/
Omfattelse: Projekt
Kildekodeformatering. Et plugin til at formatere kildekode ifølge et givet sæt regler. Når det er indlæst findes det i værktøjsmenuen.
Bogmærker. Plugin som sørger for navigering og oversigt over aktive kildekodebogmærker og gør dem vedvarende mellem sessioner.
Klassevisning. Pluginnet viser et grafisk billede af alle klasser i et projekt, sammen med metoder og egenskaber, og giver mulighed for direkte navigering i kildekoden.
Kopiér til. Enkelt plugin til overførsel af filer. Det udfører en filkopiering med alle protokoller som understøttes af KIO.
Ctags-grænseflade. Ctags er et værktøj for kildekodenavigering med understøttelse for mange sprog. Når det er indlæst sørger det for en sammenhængsafhængig menu til at finde typedeklarationer eller definitioner, og desuden en spørgsmålsdialog. http://ctags.sourceforge.net/
Støtte for endelig pakning. Hjælper til med at bygge og publicere det færdige projekt. Kun RPM-pakkeformatet understøttes for øjeblikket.
Doxygen-understøttelse. Doxygen-pluginnet sørger for en måde at angive og styre hvordan dokumenter skabes for et projekt, baseret på kildekodens indhold. Du skal have installeret Doxygen for at kunne bruge det. For mere information besøg http://www.doxygen.org.
Hurtigåbn. Tilbyder en effektiv måde at finde og åbne filer, klasser og metoder i et stort projekt. Findes i menuen Fil og Værktøjer når det er indlæst.
Indtil videre den genererede liste over plugin.
Tabel E.1. Plugin for projekthåndtering i KDevelop
antproject | ANT-projekthåndtering (Java™-programmer) |
autoprojekt | Automake projekthåndtering |
customproject | Egen projekthåndtering |
trollproject | Qmake-baseret projekthåndtering |
Ovenstående plugin er for øjeblikket (maj 2005) tomme. Måske vil projekthåndteringsunderstøttelse blive implementeret som plugin i fremtiden.
Tabel E.2. Plugin for sprogunderstøttelse i KDevelop
cppsupport | Støtte for C/C++ |
fortransupport | Støtte for Fortran |
javasupport | Støtte for Java™ |
perlsupport | Støtte for Perl |
phpsupport | Støtte for PHP |
pythonsupport | Støtte for Python |
Visse plugin beskrives i detalje i det følgende.
Pluginprogrammet abbrev. Dette pluginprogram udfylder forkortelser af ofte brugte kodefragmenter. Det aktiveres ved at trykke på Ctrl-Mellemrum. Hvis du for eksempel skriver "ife"
i C++ editoren, og trykker på Ctrl-Mellemrum, får du en if-else
kodeskabelon og sparer nogle tastetryk. Opsætningen med forkortelser som understøttes afhænger af den redigerede fils programmeringssprog. For eksempel til PHP er du naturligvis interesseret i andre kodeskabeloner end for Java™.
Sættet af kodeskabeloner kan indstilles. Hvis pluginnet er aktiveret, kan du se hvilke der er tilgængelige med dialogen -> under .
Pluginprogrammet filter. Dette tilbyder to funktioner. Hvis du vælger -> kan du indtaste en skalkommando. Udskriften fra kommandoen indsættes i editorens buffer når du trykker på knappen .
En lignende funktion er tilgængelig med ->. For at bruge den skal du markere et tekstområde i editoren. Hvis du nu skriver en skalkommando og klikker på knappen , startes kommandoen og markeringen bruges som standardindtastning til det. Standarduddata fra kommandoen indsættes derefter i editoren, og erstatter markeringen.
Hvis du for eksempel skriver dokumentation, behøver du ofte at henvise til menupunkter. For at gøre dette på den rette måde for f.eks. kopieringskommandoen i menuen Redigér, skal du skrive
<menuchoice><guimenu>Redigér</guimenu><guimenuitem>Kopiér</guimenuitem></menuchoice>Det er omstændeligt, altså skriver du hellere kun "Redigér" - "Kopiér" og lader maskinen udføre mærkningen. Du kan gøre dette sådan her: Du skriver et lille skalscript som hedder mef, som du for eksempel placerer i undermappen bin i din hjemmemappe:
sed s/"^\(.*\) - \(.*\)\$"/"<menuchoice><guimenu>\1<\/guimenu><guimenuitem>\2<\/guimenuitem><\/menuchoice>"/Glem ikke at gøre det kørbart. Det er alt. Nu skriver du "Redigér" - "Kopiér" i dokumentationens .dokbook-kildekode. Du markerer teksten du netop har indskrevet, vælger -> og kalder ~/bin/mef. Så erstattes med det samme "Redigér" - "Kopiér" med
<menuchoice><guimenu>Redigér</guimenu><guimenuitem>Kopiér</guimenuitem></menuchoice>
Pluginprogrammet Doxygen. Dette hjælper dig med at bruge API-dokumentationsværktøjet Doxygen (http://www.doxygen.org). Du kan vælge -> for at oprette API-dokumentation for det nuværende projekt baseret på konfigurationen som angives af filen Doxyfile
i projektmappen.
Desuden kan du indstille Doxygen med dialogen ->. Dialogen er meget lig værktøjet doxywizard.
Pluginprogrammet ctags. Selv om klassesøgeren giver dig et udførligt overblik over symboler og klasser i projektet, kan du også ville bruge ctags-værktøjet. Det understøtter i særdelshed mange flere sprog end klassesøgeren.
Du aktiverer pluginprogrammet under ->. Når du starter det for første gang, bliver du bedt om først at oprette en søgedatabase. Når du accepterer dette, startes ctags-programmet og laver en fil som hedder tags
i projektmappen. Dette er en tekstfil som indeholder alle symboler i kildekodefilerne.
Du kan søge på to måder i symboldatabasen: når feltet Matchning med regulært udtryk er markeret, tolkes teksten som du skriver som et regulært udtryk (POSIX-varianten) og matches med eksisterende symboler. Teksten .*Widget
søger for eksempel efter alle symboler som slutter med Widget
. Hvis feltet ikke er markeret, er søgningen verbatim.
Under søgningen vises en liste med matchende symboler, sammen med linjenummeret hvor de defineres. Du springer til respektive steder ved at klikke i listen.
For visse sprog skelner ctags mellem forskellige typer af symboler. Python har for eksempel klasser og funktioner. Du kan søge kun efter klasser ved at afkrydse den tilsvarende type i dialogen.
Symboldatabasen opdateres normalt ikke når kildekoden ændres. På grund af dette kommer linjenumrene ikke til at være rigtige længe efter et stykke tid, og nytilføjede klasser og funktioner vil mangles. Derfor bør du opdatere filen tags
med regelmæssige intervaller, ved at trykke på knappen .
Pluginprogrammet astyle. A-stil er et plugin til at formatere kildekoden ifølge et specifikt sæt regler.
Pluginprogrammet regexptest. At konstruere regulære udtryk kan være et hårdt arbejde. Ofte matcher det første forsøg med et udtryk for mange strenge. I særdeleshed ved arbejde med et kompileret sprog kan cykeltiden ved fejlsøgning af et regulært udtryk være besværlig. Pluginprogrammet regexptest lader dig udforske ændringer i et regulært udtryk direkte. Det aktiveres ved at vælge ->.
I variantdropned-feltet kan du vælge hvilken variant af regulære udtryk der skal bruges. For øjeblikket understøttes varianten som defineres af POSIX-standarden, som bruges af programmet grep, og den udvidede POSIX-syntaks som bruges af programmet egrep.
Når du indtaster et udtryk, får du umiddelbart tilbagemelding om eventuelle syntaksfejl i det. Ved at indtaste en tekst under Teststreng, kan du se om udtrykket matcher strengen. I særdeleshed om det regulære udtryk indeholder grupper, såsom "([a-z])"
, vises indholdet af de matchede delgrupper i et listefelt.
forrige | hjem | næste |
Projektafhængige indstillinger | op | Eksempel på tilstande i brugergrænsefladen for KDevelop |