Pluginatööriistad
pluginad
&kdevelop; sisaldab terve rea väikseid tööriistu, mis aitavad sooritada teatud kindlaid ülesandeid. Enamik neist on loodud pluginatena. See tähendab, et kui sa mingit pluginat ei vaja, võid selle välja lülitada.
See tähendab ka seda, et kui otsid võimalust teha midagi, mida peaks saama teha, aga hetkel ei saa, siis võib asi olla selles, et seda ülesannet võimaldab teha plugin, mis on parajasti välja lülitatud. Näiteks on failimenüüs kiire avamise käsk ainult siis, kui see on sisse lülitatud dialoogis Projekt->Projekti seadistused.
Tehniliselt on pluginate aluseks klass KDevPlugin, mille defineerib lib/interfaces/kdevplugin.h. Järgnev tekst ongi sealt pärit.
KDevPlugin on baasklass kõigile KDevelopi pluginatele. Plugin on komponent, mis laaditakse KDevelopi shelli käivitumisel või nõudmisel. Pluginal on oma skoop ehk toimeala, mis võib olla:
Tuum
Globaalne
Projekt
Tuumpluginad on globaalsed pluginad, mis pakuvad teatud olulisi "tuumfunktsioone", mistõttu kasutaja ei saa neid pluginate seadistustes ise sisse ega välja lülitada.
Globaalsed pluginad on pluginad, mis vajavad ainult shelli laadimist ega tegutse KDevProjecti liideses ega/või kasuta projekti infot. Näiteks kasutajaliidese plugin võimaldab arendajal valida, millist kasutajaliidest tarvitada.
Projektipluginad eeldavad projekti laadimist ja tavaliselt laaditakse nad koos projekt ning koos projektiga ka suletakse. Kui plugin tegutseb projekti info alusel, on tegemist projektipluginaga. Automake'i haldur ei pruugi näiteks olla aktiivne muul ajal, kui ainult Automake'i projekti laadimisel.
Nagu märgitud, ei saa tuumpluginaid välja lülitada. Globaalseid pluginaid saab sisse ja välja lülitada dialoogi Seadistused KDevelopi seadistamine... kaardil Pluginad. Projektipluginaid saab sisse ja välja lülitada dialoogi Projekt Projekti seadistused... kaardil Pluginad. Aktiivsetel pluginatel võib olla KDevelopis mitmesugune toime. Sõltuvalt funktsioonist võivad nad lisada menüüsid, menüükirjeid, tööriistaribade nuppe jne.
Väljalülitatud pluginad ei lisa midagi menüüsse ja neid ei laadita mällu.
Järgnev pluginate nimekiri on loodud väikse skriptiga (listplugins.sh), mille autor on Volker Paul. Kõigil pluginatel on .desktop-fail, kus on kirjas teatud info, näiteks nimi ja kommentaar. Kui järgneva nimekirja kommentaarid pole alati kõige inforikkamad, siis on põhjuseks see, et plugina autor ei ole rohkem infot andnud.
Pluginad on rühmitatud skoobi alusel (tuum, globaalne, projekt).
Skoop: tuum
Rakenduse nõustaja
Rakenduse nõustaja
Erinevuste näitaja
Erinevuste näitaja
FileCreate
FileCreate
Täisekraan
Täisekraan
Päeva nõuanne
Päeva nõuanne
Kasutajaliidese valik
Tagab dialoogi kasutajaliidese režiimi valimiseks.
VCSManager
Versioonikontrollisüsteemi haldur
Skoop: globaalne
Lühendite laienemine
Tagab kohandatud lühendite toetuse - need on lühikesed sõnad, mis laiendatakse levinumateks koodistruktuurideks.
Dokumentatsioon
Dokumentatsiooniplugin võimaldab lehitseda ja otsida nii kohalikus kui võrgudokumentatsioonis paljusid dokumentatsioonisüsteeme kasutades.
FileList
Näitab kõiki parajasti avatud faile (mugav, kui kaardiriba ei ole piisavalt lai).
Failivalija
Võimas failide lehitsemise rakendus.
Shellifiltrid ja lisamine
Võimaldab käsureavahendite abil käsitleda redaktoris olevat teksti. Kättesaadav tööriistade menüüst.
Programmi grep kasutajaliides
Integreerib KDevelopi programmi "Find|grep", mis lubab mustreid või regulaaravaldisi kasutades kiiresti paljudes failides teksti otsida.
Põimitud Konsool
See plugin lisab KDevelopile võimaluse põimitult kasutada konsooli käsurea võimaluste kiireks ja hõlpsaks pruukimiseks.
Menüü "Ava kasutades" lisamine
See plugin lisab KDevelopi erinevatele kontekstimenüüdele täiendavaid faili avamise võimalusi.
Komponentide näitaja
Graafiline vahend KTraderi-laadsete päringute sooritamiseks registreeritud teenuste kohta
Regulaaravaldiste testija
Vahend regulaaravaldiste loomiseks ja korrektsuse testimiseks.
Asendamise komponent
See plugin on kogu projekti hõlmav interaktiivne "otsi ja asenda" vahend. Otsida saab stringe või regulaaravaldiste sobivusi, asendusi saab valida eelvaatluse abil, enne kui need päriselt teoks teha. Kasutamisel kättesaadav redigeerimismenüüst.
Skriptikeele plugin
Skriptikeele plugin võimaldab KDevelopis kasutada skriptikeelt KScripti alusel
Koodijupid
pSee plugin võimaldab salvestada koodijuppe ja neid koodi lisada
Tekstistruktuur
Näitab HTML- ja TEX-failide struktuuri ning võimaldab neis liikuda
Tööriistade menüü lisamine
See plugin võimaldab hõlpsasti lisada väliseid rakendusi tööriistade menüüsse ja tööriistaribale.
Valgrindi kasutajaliides
Valgrind aitab leida programmides mälulekkeid ja muid mäluga seotud asju. http://developer.kde.org/~sewardj/
Skoop: projekt
Annotatsiooniplugin
Annotatsiooni kirjeldus
Lähtekoodi vormindaja
Plugin lähtekoodi vormindamiseks vastavalt konkreetsetele reeglitele. Kasutamisel leiab selle tööriistade menüüst.
Järjehoidjad
Plugin, mis võimaldab näha ja liikuda aktiivse koodi järjehoidjate vahel ning peab need seansside vahel meeles.
Klassivaade
See plugin näitab graafiliselt kõiki projekti klasse koos meetodite ja atribuutidega ning võimaldab nende vahel kiiresti liikuda.
Kopeeri
Lihtne failide üleslaadimise plugin. See kopeerib faili mis tahes KIO toetusega protokolli tarvitades.
CTagsi kasutajaliides
CTags on liikumisvahend paljude keelte toega. Laadimisel pakub see kontekstimenüüd deklaratsioonide/definitsioonide tüübi leidmiseks, samuti päringudialoogi tööriistade menüü vahendusel. Vaata internetis http://ctags.sourceforge.net/
Lõpp-pakendamise toetus
Abi valmisprojekti ehitamisel ja avaldamisel. Hetkel on toetatud ainult RPM-pakettide vorming.
Doxygeni toetus
Doxygeni plugin võimaldab määrata ja kontrollida projekti dokumentatsiooni loomist vastavalt lähtekoodi sisule. Selleks peab olema paigaldatud ka programm 'doxygen'. Vaata täpsemalt http://www.doxygen.org
Kiiresti avamine
Võimaldab hõlpsasti leida/avada faile, klasse ja meetodeid suures projektis. Laadimisel kättesaadav faili- ja tööriistade menüüs.
Turvalisuse kontroll
Koodi turvalisuse kontroll
Nii palju siis genereeritud pluginate nimekirjast.
Projektihalduse pluginad &kdevelop;is
antproject
ANT projekti haldur (&Java; rakendused)
autoproject
Automake'i projekti haldur
customproject
Kohandatud projekti haldur
trollproject
QMake'i projekti haldur
Mainitud pluginad on praegu (mai 2005) tühjad. Võib-olla tulevikus teostatakse projektihaldus pluginatena.
Keelte toetuse pluginad &kdevelop;is
cppsupportC/C++ toetus
fortransupportFortrani toetus
javasupport&Java; toetus
perlsupportPerli toetus
phpsupportPHP toetus
pythonsupportPythoni toetus
Järgnevalt vaatleme mõningaid pluginaid veidi üksikasjalikumalt.
Plugin abbrev
abbrev
See plugin laiendab lühendid levinumateks koodijuppideks. Selle saab aktiveerida klahvikombinatsiooniga Ctrl Tühik. Kui näiteks kirjutad C++ keele korral redaktorisse "ife" ja vajutad CtrlTühik, on tulemuseks koodimall if-else, mis säästab sulle mõned klahvivajutused. Toetatud lühendite valik sõltub redigeeritava faili programmeerimiskeelest. Näiteks PHP korral oled ju ilmselt huvitatud teistsugustest koodimallidest kui &Java; puhul.
Koodimallide valikut saab seadistada. Kui plugin on sisse lülitatud, näeb saadaolevaid malle dialoogi SeadistusedKDevelopi seadistamine... kaardil Lühendid.
Plugin filter
filter
See plugin pakub kaks võimalust. Kui valid menüükäsu TööriistadKäivita käsk, saad sisestada shellikäsu. Käsu väljund lisatakse redaktori puhvrisse, kui klõpsad nuppu Käivita.
Sellega on seotud käsk TööriistadFiltreeri valik läbi käsu.... Selleks tuleb redaktoris valida tekst. Kui sisestad nüüd shelli käsu ja klõpsad nupule Käivita, käivitatakse käsk, mis võtab valitud teksti oma sisendiks. Käsu väljund lisatakse seejärel redaktorisse, asendades nii sinu valitud teksti.
Kui näiteks kirjutad dokumentatsiooni, tuleb sageli viidata menüükäskudele. Et seda korrektselt teha näiteks menüüs Redigeerimine leiduva käsu Kopeeri korral, pead kirjutama: <menuchoice><guimenu>Redigeerimine</guimenu><guimenuitem>Kopeeri</guimenuitem></menuchoice> See on üsna tülikas, nii et mõistlikum on kirjutada lihtsalt "Redigeerimine - Kopeeri" ja lasta sildid panna arvutil endal. See käib järgmiselt. Sul tuleb kirja panna väike shelliskript nimega mef, mille paigutad näiteks oma kodukataloogi bin-kataloogi: sed s/"^\(.*\) - \(.*\)\$"/"<menuchoice><guimenu>\1<\/guimenu><guimenuitem>\2<\/guimenuitem><\/menuchoice>"/ Ära unusta sellele käivitamisõigust andmast. Ja ongi kõik. Nüüd võid kirjutada oma dokumentatsiooni .docbook-lähtekoodifailis "Redigeerimine - Kopeeri". Vali see tekst, vali menüükäsk TööriistadFiltreeri valik läbi käsu... ja kutsu välja käsk ~/bin/mef. Otsekohe asendataksegi "Redigeerimine - Kopeeri" tekstiga <menuchoice><guimenu>Redigeerimine</guimenu><guimenuitem>Kopeeri</guimenuitem></menuchoice>
&doxygen;i plugin
&doxygen;
dokumentatsioonitööriist
API documentatsioon
See plugin aitab kasutada &doxygen;i API dokumentatsiooni tööriista (). Menüükäsuga Projekt Käivita Doxygen saad luua oma projekti dokumentatsiooni vastavalt konfiguratsioonile, mille määrab sinu projektikataloogis leiduv fail Doxyfile.
Lisaks saab &doxygen;i seadistada dialoogis Projekt Projekti seadistused.... See dialoog on üsna sarnane &doxywizard;iga.
&ctags;i plugin
&ctags;
Ehkki klassisirvija näitab juba põhjalikult sinu projekti sümboleid ja klasse, võib abiks olla ka CTagsi tööriist. Eriti tasuks tähele panna, et see toetab enam keeli kui klassisirvija.
Plugina saab aktiveerida menüükäsuga Tööriistad CTags... Kui käivitad selle esimest korda, palutakse sul luua kõigepealt otsingu-andmebaas. Kui oled sellega nõus, käivitub &ctags; ja loob sinu projektikataloogi faili tags. See on tekstifail, mis sisaldab sinu lähtekoodifailide kõiki sümboleid.
Sümbolite andmebaasis saab otsida kahel moel: kui märkida ära kast Regulaaravaldis, tõlgendatakse sisestatud otsinguteksti regulaaravaldisena (POSIX-i mõttes) ja otsitakse selle sobivust. Näiteks .*Widget otsib kõiki sümboleid, mille lõpus seisab Widget. Kui kast on märkimata, otsitakse täpselt seda, mida otsida lased.
Otsimisel näidatakse sulle sobivate sümbolite nimekirja, koos reanumbriga, kus nad on defineeritud. Klõpsuga nimekirjas saab kohe vastavasse kohta hüpata.
Mõne keele puhul eristab &ctags; sümboleid. Näiteks Pythonis on klassid ja funktsioonid. Sa võid näiteks otsida ainult klassides, kui märgid ära vastava kasti.
Sümbolite andmebaasi ei uuendata, kui muudad oma lähtekoodi. Seepärast ei pruugi mõne aja pärast enam reanumbrid tegelikkusele vastata ning uued klassid ja funktsioonid on puudu. Seepärast tasuks faili tags regulaarselt uuendada, klõpsates nupule Genereeri uuesti.
Plugin astyle
astyle
Artistic Style
treppimine
Astyle on plugin, mis lubab lähtekoodi vormindada vastavalt kindlatele reeglitele.
Plugin regexptest
regexptest
silumineregulaaravaldis
regulaaravaldissilumine
Regulaaravaldise loomine võib olla üsna tülikas tegevus. Sageli leiad esialgu liiga palju vasteid oma otsingule. Eriti keerukamate keelte puhul võib regulaaravaldiste paikaajamine olla väga vaevarikas. Plugin regeexptest lubab sul vahetult uurida regulaaravaldises tehtavate muudatuste mõju. Selle saab aktiveerida menüükäsuga Tööriistad Regulaaravaldise silumine...
Regulaaravaldise tüübi sektsioonis saad valida, millist laadi regulaaravaldise mootorit kasutada. Praegu on toetatud POSIX standard, mida kasutab programm &grep; ja laiendatud POSIX süntaks, mida kasutab programm &egrep;.
Kui sisestad avaldise, saad kohe teada, kas selles on süntaksivigu. Sisestades teksti kasti Teststring, näed, kas see sobib avaldisega. Eriti juhul, kui regulaaravaldis sisaldab gruppe, näiteks ([a-z]), näidatakse nimekirjakastis sobivate alamgruppide sisu.