# Insticksverktyg

&kdevelop; innehåller ett stort antal små verktyg, som hjälper dig att utföra vissa uppgifter. De flesta fungerar som insticksprogram. Det betyder att om du inte behöver ett insticksprogram kan du helt enkelt inaktivera det.

Det betyder också att om du letar efter funktioner som ska finnas, men inte gör det, kanske de är implementerade i ett insticksprogram och det insticksprogrammet är inaktiverat. Det finns till exempel en funktion för snabböppning i menyn Arkiv, men bara om den är aktiverad i dialogrutan Projekt - Projektinställningar.

Tekniskt är insticksprogram baserade på klassen KDevPlugin definierad i lib/interfaces/kdevplugin.h. Det följande kommer från en kommentar där.

KDevPlugin är basklassen för alla insticksprogram i KDevelop. Ett insticksprogram är en komponent som laddas i KDevelop-skalet vid start eller på begäran. Ett insticksprogram har en omfattning som antingen kan vara:

- Kärna

- Global

- Projekt

Kärninsticksprogram är globala insticksprogram som erbjuder någon viktig funktion för "kärnan", och sålunda inte kan väljas av användaren på inställningssidorna för insticksprogram.

Globala insticksprogram är de som bara kräver att skalet är laddad och inte använder sig av gränssnittet KDevProject och/eller använder information rörande hela projektet. Till exempel tillåter insticksprogrammet grafiskt gränssnittsläge utvecklare att välja vilket användargränssnitt de vill använda.

Projektinsticksprogram kräver att att projekt är laddad, och laddas eller laddas ur tillsammans med projektet. Om ett insticksprogram använder sig av projektrelaterad information är det ett projektinsticksprogram. Hantering av Automake behöver till exempel bara vara aktivt när ett projekt baserat på Automake för tillfället är laddat.

Som nämnts ovan kan inte kärninsticksprogram inaktiveras. Globala insticksprogram kan aktiveras eller inaktiveras med Inställningar Anpassa KDevelop... under insticksprogram. Projektinsticksprogram kan aktiveras eller inaktiveras med Projekt Projektinställningar... under insticksprogram. Aktiva insticksprogram kan ge många effekter i KDevelop. Beroende på deras funktion kan de lägga till extra menyer, extra menyalternativ, extra knappar i verktygsraden, etc.

Insticksprogram som är inaktiverade skräpar inte ner menyerna och laddas inte i minnet.

Följande lista över insticksprogram skapas av ett litet skript (listplugins.sh) skrivet av Volker Paul. Alla insticksprogram har en .desktop-fil där information som namn och kommentarer skrivs. Om kommentarerna i det följande inte är särskilt användbara, beror det på att insticksprogrammets upphovsmän gjorde dem på detta sätt.

Insticksprogrammen är grupperade enligt omfattning (Kärna, Global, Projekt).

Omfattning: Kärna

- ## Programguide

  Programguide

- ## Visning av skillnader

  Visning av skillnader

- ## Skapa filer

  Skapa filer

- ## Fullskärm

  Fullskärm

- ## Dagens tips

  Dagens tips

- ## Val av användargränssnitt

  Tillhandahåller en dialogruta för val av användargränssnittsläge.

- ## Hantering av versionskontrollsystem

  Hantering av versionskontrollsystem

Omfattning: Global

- ## Expansion av förkortningar

  Ger stöd för anpassningsbara förkortningar: korta ord som expanderas till vanligt använda kodstrukturer.

- ## Dokumentation

  Dokumentationsinsticksprogrammet erbjuder bläddring och sökning i lokal dokumentation och dokumentation på nätet, med stöd för flera dokumentationssystem.

- ## Fillista

  Tillhandahåller en lista av alla för närvarande öppna filer. (Praktiskt när flikraden inte är riktigt bred nog.)

- ## Filväljare

  Kraftfullt nätverkstransparent filbläddringsverktyg.

- ## Skalfiltrering och infogning

  Erbjuder ett sätt att behandla editortext med kommandoradsverktyg. Finns i verktygsmenyn.

- ## Gränssnitt till grep

  Integrerar "find | grep" med KDevelop - tillåter snabb sökning i flera filer med mönster eller reguljära uttryck.

- ## Inbäddad terminal

  Insticksprogrammet ger KDevelop en inbyggd terminal för snabb och enkel åtkomst av kommandoraden.

- ## Menytillägg till "Öppna med"

  Insticksprogrammet tillhandahåller ytterligare "öppna" alternativ i diverse sammanhangsberoende menyer i KDevelop.

- ## Delutforskningsverktyg

  Ett grafiskt verktyg för att utföra KTrader-liknande förfrågningar om registrerade tjänster.

- ## Test av reguljära uttryck

  Verktyg för att skapa och testa reguljära uttryck mot vanlig syntax för reguljära uttryck.

- ## Ersättningsdel

  Insticksprogrammet är ett interaktivt verktyg för att "söka och ersätta" i hela projektet. Sök med en sträng eller reguljärt uttryck, och välj ersättningen som ska göras från en förhandsgranskning innan åtgärden slutförs. När det laddats visas det i redigeringsmenyn.

- ## Skriptanvändning

  Skriptinsticksprogrammet erbjuder KScript-baserad styrning av programmet KDevelop.

- ## Kodsnuttar

  Det här insticksprogrammet gör det möjligt att lagra kodsnuttar och lägga till dem i din kod

- ## Textstruktur

  Tillhandahåller en strukturöversikt och navigering för HTML- och Tex-filer

- ## Tillägg i verktygsmenyn

  Insticksprogrammet tillhandahåller ett enkelt sätt att lägga till yttre program i verktygsmenyn och verktygsraden.

- ## Valgrind-gränssnitt

  Valgrind är ett verktyg som hjälper dig hitta minneshanteringsproblem i program. http://developer.kde.org/~sewardj/

Omfattning: Projekt

- ## Noteringsinsticksprogram

  Noteringsbeskrivning

- ## Källkodsformatering

  Ett insticksprogram för att formatera källkod enligt en given uppsättning regler. När det laddats finns det i verktygsmenyn.

- ## Bokmärken

  Insticksprogram som tillhandahåller navigering och översikt över aktiva källkodsbokmärken och gör dem bestående mellan sessioner.

- ## Klassvisning

  Insticksprogrammet visar en grafisk bild av alla klasser i ett projekt, tillsammans med metoder och egenskaper, och ger möjlighet till direkt navigering i källkoden.

- ## Kopiera till

  Enkelt insticksprogram för uppladdning av filer. Det utför en filkopiering med alla protokoll som stöds av KIO.

- ## Ctags-gränssnitt

  Ctags är ett verktyg för källkodsnavigering med stöd för många språk. När det laddats tillhandahåller det en sammanhangsberoende meny för att hitta typdeklarationer eller definitioner, och dessutom en frågedialogruta. http://ctags.sourceforge.net/

- ## Stöd för slutpaketering

  Hjälper till att bygga och publicera det färdiga projektet. Endast RPM-paketformatet stöds för närvarande.

- ## Doxygen-stöd

  Doxygen-insticksprogrammet tillhandahåller ett sätt att ange och styra hur dokument skapas för ett projekt, baserat på källkodens innehåll. Du måste ha installerat Doxygen för att kunna använda det. För mer information besök http://www.doxygen.org.

- ## Snabböppna

  Erbjuder ett effektivt sätt att hitta och öppna filer, klasser och metoder i ett stort projekt. Finns i menyn Arkiv och Verktyg när det laddats.

- ## Säkerhetskontroll

  Kodsäkerhetskontroll

Så långt den skapade listan över insticksprogram.

## Insticksprogram för projekthantering i &kdevelop;

antproject | ANT-projekthantering (&Java;-program)
autoprojekt | Automake projekthantering
customproject | Egen projekthantering
trollproject | Qmake-baserad projekthantering

Ovanstående insticksprogram är för närvarande (maj 2005) tomma. Kanske projekthanteringsstöd kommer att implementeras som insticksprogram i framtiden.

## Insticksprogram för språkstöd i &kdevelop;

cppsupport | Stöd för C/C++
fortransupport | Stöd för Fortran
javasupport | Stöd för &Java;
perlsupport | Stöd för Perl
phpsupport | Stöd för PHP
pythonsupport | Stöd för Python

Vissa av insticksprogrammen beskrivs i detalj i det följande.

- ## Insticksprogrammet `Förkortningar`

  Det här insticksprogrammet fyller i förkortningar av ofta använda kodfragment. Det aktiveras genom att trycka på CtrlMellanslag. Om du till exempel skriver in `"ife"` i C++ editorn, och trycker på CtrlMellanslag, får du en `if-else` kodmall och sparar några tangentnertryckningar. Uppsättningen med förkortningar som stöds beror på den redigerade filens programspråk. För till exempel PHP är du naturligtvis intresserad av andra kodmallar än för &Java;.

  Uppsättningen med kodmallar kan anpassas. Om insticksprogrammet är aktiverat, kan du se vilka som är tillgängliga med dialogrutan Inställningar Anpassa KDevelop... under Förkortningar.

- ## Insticksprogrammet `filter`

  Detta erbjuder två funktioner. Om du väljer Verktyg Kör kommando kan du skriva in ett skalkommando. Utmatningen från kommandot infogas i editorns buffer när du trycker på knappen Starta.

  En liknande funktion är tillgänglig med Verktyg Filtrera markering genom kommando.... För att använda den måste du markera ett textområde i editorn. Om du nu skriver in ett skalkommando och klickar på knappen Starta, startas kommandot och markeringen används som standardinmatning till det. Standardutmatningen från kommandot infogas därefter i editorn, och ersätter markeringen.

  Om du till exempel skriver dokumentation, behöver du ofta hänvisa till menyalternativ. För att gör det på rätt sätt för t.ex. kopieringskommandot i menyn Redigera, måste du skriva

      <menuchoice><guimenu>Redigera</guimenu><guimenuitem>Kopiera</guimenuitem></menuchoice>

  Det är omständigt, alltså skriver du hellre bara "Redigera" - "Kopera" och låter datorn utföra taggningen. Du kan göra det så här: Du skriver ett litet skalskript som heter mef, som du till exempel placerar i underkatalogen bin i din hemkatalog:

      sed s/"^\(.*\) - \(.*\)\$"/"<menuchoice><guimenu>\1<\/guimenu><guimenuitem>\2<\/guimenuitem><\/menuchoice>"/

  Glöm inte att göra det körbart. Det är allt. Nu skriver du "Redigera" - "Kopiera" i dokumentationens .dokbook-källkod. Du markerar texten du just skrivit in, väljer Verktyg Filtrera markering genom kommando... och anropar ~/bin/mef. Omedelbart ersätts "Redigera" - "Kopiera" med

      <menuchoice><guimenu>Redigera</guimenu><guimenuitem>Kopiera</guimenuitem></menuchoice>

- ## Insticksprogrammet &doxygen;

  Detta hjälper dig att använda API-dokumentationsverktyget &doxygen; (). Du kan välja Projekt Kör Doxygen för att skapa API-dokumentation för det nuvarande projektet baserat på konfigurationen som anges av filen `Doxyfile` i projektkatalogen.

  Dessutom kan du anpassa &doxygen; med dialogrutan Projekt Projektinställningar.... Dialogrutan är mycket lik verktyget &doxywizard;.

- ## Insticksprogrammet &ctags;

  Även om klassbläddraren ger dig utförlig överblick över symboler och klasser i projektet, kan du också vilja använda ctags-verktyget. Det stöder i synnerhet många fler språk än klassbläddraren.

  Du aktiverar insticksprogrammet under Verktyg CTags.... När du startar det för första gången, blir du tillfrågad om att först skapa en sökdatabas. När du accepterar detta, startas &ctags;-programmet och skapar en fil som heter `tags` i projektkatalogen. Detta är en textfil som innehåller alla symboler i källkodsfilerna.

  Du kan söka på två sätt i symboldatabasen: när rutan Matcha med reguljärt uttryck är markerad, tolkas texten som du skriver in som ett reguljärt uttryck (POSIX-varianten) och matchas med befintliga symboler. Texten `.*Widget` söker till exempel efter alla symboler som slutar med `Widget`. Om rutan inte är markerad, är sökningen verbatim.

  Under sökningen visas en lista med matchade symboler, tillsammans med radnummer där de definieras. Du hoppar till respektive ställe genom att klicka i listan.

  För vissa språk skiljer &ctags; mellan olika typer av symboler. Python har till exempel klasser och funktioner. Du kan söka enbart efter klasser genom att kryssa in motsvarande typ i dialogrutan.

  Symboldatabasen uppdateras normalt inte när källkoden ändras. På grund av detta kommer inte radnumren vara riktiga längre efter ett tag, och nytillagda klasser och funktioner kommer att saknas. Därför bör du uppdatera filen `tags` med regelbundna intervall, genom att trycka på knappen Skapa om.

- ## Insticksprogrammet `A-stil`

  A-stil är ett insticksprogram för att formatera källkoden enligt en specificerad uppsättning regler.

- ## Insticksprogrammet `regexptest`

  Att konstruera reguljära uttryck kan vara ett hårt arbete. Ofta matchar det första försöket med ett uttryck för många strängar. I synnerhet vid arbete med ett kompilerat språk kan cykeltiden vid avlusning av ett reguljärt uttryck vara besvärlig. Insticksprogrammet regexptest låter dig direkt utforska ändringar i ett reguljärt uttryck. Det aktiveras genom att välja Verktyg Avlusa reguljärt uttryck....

  I variantkombinationsrutan kan du välja vilken variant av reguljära uttryck som ska användas. För närvarande stöds varianten som definieras av POSIX-standarden, som används av programmet &grep;, och den utökade POSIX-syntaxen som används av programmet &egrep;.

  När du skriver in ett uttryck, får du omedelbart återmatning om eventuella syntaxfel i det. Genom att skriva in en text under Teststräng, kan du se om uttrycket matchar strängen. I synnerhet om det reguljära uttrycket innehåller grupper, som `"([a-z])"`, visas innehållet av de matchade delgrupperna i en listruta.