&Anders.Lund; &Anders.Lund.mail;
Johan
Thelmén

    jth@home.se

Översättare

# Arbeta med insticksprogram

&kate; erbjuder flera insticksprogram. Det finns två typer av dessa insticksprogram: vissa är skriva i C++, medan andra är skrivna i programspråket Python. Det finns subtila skillnader mellan dessa, som beskrivs nedan.

Du kan aktivera vilken typ av insticksprogram som helst i inställningsdialogrutan, som också ger tillgång till ytterligare inställningsalternativ för insticksprogram som kräver det.

## Insticksprogram för programmet &kate;

&kate; insticksprogram är ytterligare funktioner för editorn &kate;. De kan lägga till extra menyer och snabbtangenter, och utöka &kate;s funktioner. Du kan installera så många eller så få du vill, inne i &kate;. Öppna &kate;s inställningsdialogruta med Inställningar Anpassa &kate;... Använd Program Insticksprogram för att välja önskade insticksprogram.

De tillgängliga insticksprogrammen är:

- Bläddring i bakåtspårning: Navigeringsverktyg med vy av C/C++ bakåtspårning

- Bygginsticksprogram: Kompilera eller bygg och tolka felmeddelanden

- Stäng förutom/som: Stäng grupp av dokument baserat på en gemensam sökväg eller filändelse

- CTags: Slå upp definitioner och deklarationer med CTags

- Dokumentförhandsgranskning - Förhandsgranska dokumentet i målformatet.

- Dokumentbyte: Snabbt dokumentbyte med beteende likt &Alt;Tabulator.

- Filsystembläddrare: Verktygsvy för filsystembläddring

- Dokumentträdvy: Visar öppna filer i ett filträd

- &gdb; - Tillhandahåller ett enkelt gränssnitt för &gdb;

- Öppna deklarationsfil: Öppnar den motsvarande .h/[.cpp|.c]-filen

- Projektinsticksprogram: Integrering med &git; och andra källkontrollsystem

- Replicode: Konstruktivistiskt AI-språk och körprogram

- LSP-klient: LSP-klient som tillhandahåller kodnavigering och kodkomplettering för många språk

- Sök och ersätt: Sök eller ersätt mönster i öppnade dokument eller i filer på disk

- Verktygsvy med textsnuttar: Verktygsvy som inbäddar hantering av textsnuttar

- SQL-insticksprogram - Utför en förfrågan i SQL-databaser

- Symbolvisning: Hämta och visa referenssymboler från källkod

- Verktygsvy med terminal: Ha en lätt tillgänglig terminal, genom att använda &kde;:s grafiska &konsole;-komponent

- Textfilter: Behandla text med terminalkommandon

- &XML;-komplettering: Listar XML-element, attribut, attributvärden och objekt som tillåts av DTD

- &XML;-validering: Validerar &XML;-filer med XMLlint

## Insticksprogrammet Bläddring i bakåtspårning

### Använda insticksprogrammet Bläddring i bakåtspårning

Insticksprogrammet är avsett för utvecklare och användare har troligtvis begränsad användning av det. Det visar en bakåtspårning levererad av gdb i en listvy i en &kate; verktygsvy. Att klicka på ett objekt öppnar den markerade filen och går till rätt radnummer. Det fungerar för bakåtspårningar skapade på den egna datorn, men fungerar också för bakåtspårningar från andra, t.ex. `/home/exempel/qt-copy/.../qwidget.cpp` hittas också på andra datorer. För att det ska fungera måste katalogerna där källkoden finns indexeras.

Ibland finns det flera filer med samma namn, t.ex.

- `kdegraphics/okular/generators/dvi/config.h`
- `kdepim-runtime/resources/gmail/saslplugin/config.h`

För att välja rätt alternativ, väljer insticksprogrammet webbadressens två sista delarna, som i detta fall skulle vara

- `dvi/config.h`
- `saslplugin/config.h`

Och därefter hittar insticksprogrammet oftast den rätta.

Indexering av master och en gren leder naturligtvis till kollisioner.

### Inställning

Lägg till katalogerna som innehåller källkoden på inställningssidan.

Bläddring i bakåtspårning
Anpassa sökvägar med verktygsvyn i Bläddring i bakåtspårning

Att klicka på Ok påbörjar indexeringen. Öppna verktygsvyn Bläddring i bakåtspårning när indexeringen är klar.

Nu kan en bakåtspårning läsas in från klippbordet (t.ex. om du klickat på Kopiera till klippbordet i &drkonqi;) eller från en fil.

Salma
Sultana
&TC.Hollingsworth; &TC.Hollingsworth.mail;

## Bygginsticksprogram

### Inledning

Bygginsticksprogrammet låter dig utföra åtgärder som bygg, rensa och kompilera för ett projekt.

### Använda bygginsticksprogrammet

Bygginsticksprogrammet lägger till verktygsvyn Byggutmatning längst ner och menyn Bygg i menyraden. Verktygsvyn kan användas för att anpassa inställningar av byggmål, medan menyn kan användas för att bygga, rensa och kompilera.

Byggutmatning

Verktygsvyn Byggutmatning har två flikar:

- Målinställningar

- Utmatning

#### Fliken målinställningar

Fliken målinställningar kan användas för att anpassa diverse byggmål och definiera måluppsättningar.

För att ändra namn eller kommandon, dubbelklicka på posterna i tabellen och använd kombinationsrutan för att välja aktiv måluppsättning. Använd kryssrutan framför varje mål för att definiera ett standardvärde.

En ny måluppsättning innehåller flera olika inställningsalternativ:

Arbetskatalog

  Här kan sökvägen till projektet anges. Lämna den tom för att använda katalogen där aktuellt dokument finns.

Bygg

  Alternativen låter dig definiera byggkommandot. Det är normalt inställt till `make`.

Rensa

  Alternativen låter dig definiera rensningskommandot. Det är normalt inställt till `make clean`.

Config

  Alternativet låter dig definiera kommandot config. Det är normalt inställt till `cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=/usr/local ../`

Längst upp har insticksprogrammet en verktygsrad med följande knappar:

- Bygg markerat mål
- Lägg till nytt mål
- Skapa en ny byggmåluppsättning
- Kopiera kommando eller måluppsättning
- Ta bort nuvarande kommando eller måluppsättning

#### Fliken Utmatning

Fliken Utmatning visar terminalutmatningen som genererades av det senaste kommandot.

Använd skjutreglaget längst upp för att dölja eller visa utmatningskategorier:

Fullständig utmatning, Tolkad utmatning, Fel och varningar eller Bara fel

Varje rad innehåller ett meddelande, filnamnet och radnumret om tillgängligt. Att klicka på felet eller varningen går till lämplig fil och placerar markören på motsvarande radnummer.

För att gå till föregående fel, tryck på &Alt;&Shift;Vänster. För att gå till nästa fel, tryck på &Alt;&Shift;Höger.

### Menystruktur

Bygg Välj mål

  Välj från en lista med mål inställda av användaren.

Bygg Bygg standardmål

  Bygger målet som är definierat som standardmål i den aktiva måluppsättningen.

Bygg Bygg föregående mål

  Byt till föregående mål inställt av användaren.

Bygg Stoppa

  Stoppa byggning av ett mål.

&Ctrl;&Alt;Vänster Bygg Föregående fel

  Flyttar markören till platsen för det föregående felet i dokumentet.

&Ctrl;&Alt;Höger Bygg Nästa fel

  Flyttar markören till platsen för det nästa felet i dokumentet.

### Tack och erkännanden

&kate;s bygginsticksprogram är skrivet av Kåre Särs.

Särskilt tack till deltagaren i Google Code-In 2011, Salma Sultana, för att ha skrivit stora delar av det här avsnittet.

## Stäng förutom/som insticksprogram

### Inledning

Insticksprogrammet låter dig stänga en grupp dokument baserat på deras filändelse och sökväg.

### Använda insticksprogrammet Stäng förutom/som

Antag att följande dokument är öppna i &kate;:

- /tmp/subfolder/test.h
- /tmp/test.cpp
- /tmp/test.txt

Då har du följande alternativ för att stänga dokument, som visas på skärmbilden:

Stäng förutom

Använd kryssrutan för det sista alternativet i listan för att aktivera eller inaktivera en bekräftelsedialogruta. Det valda alternativet gäller båda stängningsalternativen.

### Menystruktur

Arkiv Stäng förutom

  Stäng alla öppna dokument, förutom de som motsvarar sökvägen eller filändelsen som väljes i undermenyn.

Arkiv Stäng som

  Stäng alla öppna dokument som motsvarar sökvägen eller filändelsen som väljes i undermenyn.

## CTags-insticksprogram

### Inledning

CTags skapar en indexfil (eller taggfil) av språkobjekt som hittas i källkodsfiler, som gör det möjligt att snabbt och enkelt lokalisera objekten med det här insticksprogrammet i &kate;.

En tagg betecknar ett språkobjekt som har en indexpost tillgänglig (eller alternativt, indexposten skapad för objektet).

Att skapa taggar stöds för de här programspråken.

### Inställning

Insticksprogrammet CTags använder två olika databasfiler för indexet.

På CTags inställningssida i &kate;s inställningar kan kataloger som innehåller källkod läggas till eller tas bort, och den gemensamma CTags databasen kan genereras om.

#### Gemensamt index

Inställningar av CTags
Anpassa CTags globala databas

Längst ner på inställningssidan kan CTags-kommando anpassas.

För mer information om alla tillgängliga väljare, läs CTags manualsida. Manualsidan är tillgänglig i Hjälpcentralen, och det går också att skriva in webbadressen man:/ctags direkt i &konqueror;.

Att klicka på Uppdatera startar indexeringen. Stäng dialogrutan när indexeringen är färdig.

#### Sessionsindex

Öppna vyn CTags för att anpassa sessionsindexet.

Indexeringsmål

  Under den här fliken kan kataloger som innehåller källkoden läggas till och tas bort, och den sessionsspecifika CTags databasen kan manuellt genereras om.

Databas
  Databasinställningar
  Anpassa CTags sessionsdatabas

  Välj en annan CTags databasfil, anpassa CTags-kommandot eller återgå till standardkommandot.

### Använda CTags insticksprogrammet

Placera muspekaren på ett språkobjekt, såsom en funktion, symbol, etc., som du är intresserad av och välj därefter en av åtgärderna i menyn CTags för att gå till raden och filen där objektet är definierat eller deklarerat.

Normalt har alternativen i menyn CTags inga tilldelade genvägar. Använd editorn av snabbtangenter för att ställa in egna genvägar.

Som alternativ, använd sökfältet under fliken Slå upp i CTags vyn.

Att skriva in tecken i sökfältet påbörjar sökningen och visar matchande namn på språkobjekt som funktioner, klasser, symboler, etc., tillsammans med typ och filnamn.

Välj ett objekt i listan för att gå till motsvarande rad i källkodsfilen.

### Menystruktur

CTags Gå tillbaka ett steg

  Navigera bakåt i historiken till den senast besökta taggen.

CTags Slå upp nuvarande text

  Visar fliken Slå upp i CTags vyn och visar alla språkobjekt som motsvarar den nuvarande textmarkeringen i listan.

CTags Gå till deklaration

  Om markören är i ett definitionsobjekt öppnas dokumentet som innehåller motsvarande deklaration om det behövs, dess vy aktiveras och markören placeras i början på deklarationen.

CTags Gå till definition

  Om markören är i ett deklarationsobjekt öppnas dokumentet som innehåller motsvarande definitionen om det behövs, dess vy aktiveras och markören placeras i början på definitionen.

## Insticksprogram för dokumentförhandsgranskning

### Inledning

Insticksprogrammet aktiverar en direkt förhandsgranskning av textdokumentet som för närvarande redigeras med det slutliga formatet i sidoraden. Så när t.ex. &Markdown;-text eller en &SVG;-bild redigeras, är resultatet omedelbart synligt intill källtexten.

Insticksprogrammet använder &kparts;-insticksprogrammet som för närvarande är valt som det föredragna för dokumentets &MIME;-typ för visning. Om det inte finns något &kparts;-insticksprogram för typen är inte någon förhandsgranskning möjlig.

För att ändra föredraget insticksprogram öppna modulen Filbindningar i systeminställningarna och redigera Önskad ordning av tjänster under fliken Inbäddning.

#### Några tillgängliga &kparts;-insticksprogram

&MIME;-typ | &kparts;-insticksprogram
&Markdown;-text | KMarkdownWebViewPart eller OkularPart
&SVG;-bild | SVGPart
&Qt; UI-filer | KUIViewerPart
&DOT; Graph-filer | KGraphviewerPart

### Menystruktur

Visa Verktygsvyer Visa förhandsgranskning

  Visar eller döljer &kate;s dokumentförhandsgranskning i en sidorad.

### Gränssnitt

Knapparna ovanför förhandsgranskningsfönstret tillhandahåller följande åtgärder:

- Lås förhandsgranskningen till ett givet dokument. Att välja alternativet försäkrar att om fokus ändras till att visa ett annat dokument i samma &kate;-fönster, följer inte förhandsgranskningen det dokumentet, utan fortsätter att förhandsgranska det här dokumentet.

- Aktivera eller inaktivera uppdateringar av förhandsgranskningen av aktuellt dokumentinnehåll

- Uppdatera förhandsgranskningen av aktuellt dokumentinnehåll manuellt

- En kombinationsmeny med åtgärder från &kparts;-insticksprogrammet

## Insticksprogrammet Dokumentbyte

### Menystruktur

&Ctrl;Tabulator Visa Senast använda vyer
&Ctrl;&Shift;Tabulator Visa Senast använda vyer (baklänges)

  Öppnar en lista med senast visade dokument:

  Senast visade dokument

  Håll &Ctrl;-tangenten nertryckt och använd Tabulator för att gå framåt i listan. Håll dessutom nere &Shift;-tangenten för att vända på ordningen.

  Håll nere väljartangenterna &Ctrl;Tabulator och använd tangenterna Uppåtpil, Neråtpil, Home, eller End för att navigera i listan. Att trycka på en teckentangent går igenom alla objekt i listan där det första tecknet matchar i följd. Om väljartangenterna släpps byter vyn till dokumentet som är valt i listan.

## Filsystembläddrare

Filsystembläddraren är en katalogvy, som låter dig öppna filer i en katalog som visas i den nuvarande rutan.

### Menystruktur

Visa Verktygsvyer Visa Filsystembläddrare

  Visar eller döljer &kate;s filsystembläddrare.

### Gränssnitt

Uppifrån och ner, består filsystembläddraren av följande delar:

En verktygsrad

  Den här innehåller vanliga navigationsknappar:

  Tillbaka

    Gör att katalogvyn byter till katalogen som tidigare visades i historiken med kommandot `cd`. Knappen är inaktiv om det inte finns någon tidigare katalog.

  Framåt

    Gör att katalogvyn byter till nästa katalog i historiken med kommandot `cd`. Knappen är inaktiv om det inte finns någon nästa katalog.

  Bokmärken

    Visar en undermeny för att redigera eller lägga till bokmärken, och för att lägga till en ny bokmärkeskatalog.

  Aktuell dokumentkatalog

    Den här knappen gör att katalogvyn byter till katalogen för det nuvarande aktiva dokumentet med kommandot `cd`, om möjligt. Knappen är inaktiv om det nuvarande dokumentet är en ny, osparad fil, eller om katalogen som den finns i inte kan bestämmas.

  Alternativ
    Kort format

      Visar bara filnamnen.

    Detaljerat format

      Visar filernas Namn, Datum, och Storlek.

    Trädformat

      Som Kort format, men kataloger kan expanderas för att se deras innehåll.

    Detaljerat trädformat

      Det tillåter också att kataloger expanderas, men visar de ytterligare kolumnerna tillgängliga i Detaljerat format.

    Visa dolda filer

      Visar filer som normalt döljs av operativsystemet.

    Synkronisera automatiskt med aktuellt dokument

      När alternativet är aktiverat använder filsystembläddraren `cd` för att automatiskt gå till katalogen där dokumentet som för närvarande är öppet i redigeringsområdet finns, varje gång det ändras.

En platsangivelse

  Den visar en länkstig till katalogen som för närvarande är öppen, på liknande sätt som i &dolphin;. Du kan klicka på vilken katalog som helst för att gå till den, eller klicka på någon av pilarna till vänster om en katalog för att välja vilken katalog som helst under den. Du kan också välja i listan med platser genom att klicka på ikonen längst till vänster i länkstigen, där en ikon visas som representerar nuvarande platser.

  Du kan också klicka till höger om länkstigen för att ändra den till en textruta, där du kan skriva in sökvägen till katalogen som ska visas. Inmatningsrutan behåller en lista med de senast inskrivna sökvägarna. För att välja en, använd pilknappen till höger om fältet.

  Inmatningsrutan har automatisk komplettering av kataloger. Kompletteringsmetoden kan anges via menyn som visas genom att klicka med höger musknapp på textfältet.

En katalogvy

  Det här är &kde;:s standardkatalogvy.

Ett filterfält

  Filterfältet låter dig skriva in ett filter för filerna som visas i katalogvyn. Filtret använder vanliga jokertecken, där mönster måste skiljas åt av blanktecken. Till exempel: `*.cpp *.h *.moc`.

  För att visa alla filer, skriv in en ensam asterisk `*`.

  Filterfältet sparar de senaste tio filtren mellan sessioner. För att använda ett, tryck på pilknappen till höger i fältet och välj önskad filtersträng. Filtret kan inaktiveras genom att klicka på knappen Rensa text till vänster om pilknappen för automatisk komplettering.

### Inställning

Insticksprogrammet kan anpassas på sidan Filsystembläddrare i &kate;s inställningsruta.

Verktygsrad

  Anpassa knapparna i filsystembläddrarens verktygsrad genom att flytta de du vill ha aktiverade till listan Markerade åtgärder, och ordna dem med pilknapparna vid sidan om listan.

## Dokumentlistan

### Inledning

Dokumentlistan visar en lista över alla dokument som för närvarande är öppna i &kate;. Ändrade filer har en liten diskettikon till vänster för att ange tillståndet.

Längst upp har dokumentlistan en verktygsrad med följande knappar:

- Skapa nytt dokument
- Öppna ett befintligt dokument
- Föregående dokument
- Nästa dokument
- Spara aktuellt dokument
- Spara aktuellt dokument med ett nytt namn

Normalt visas dokumentlistan i Trädläge, vilket visar katalogstrukturen som omger alla öppna dokument. Listläge är också tillgängligt, som visar en enkel lista över alla öppna dokument. Det går att byta läge genom att högerklicka på listan och välja i menyn Visningsläge.

Om två eller flera filer med samma namn (placerade i olika kataloger) är öppna i Listläge, namnet på den andra inleds med (2) och så vidare. Filens verktygstips visar det fullständiga namnet inklusive sökvägen, vilket gör det möjligt att välja den önskade.

Klicka på dokumentnamnet i listan för att visa ett dokument i fönstret som för närvarande är aktivt.

Den sammanhangsberoende menyn har några vanliga alternativ från menyn Arkiv.

Dessutom finns filhanteringsalternativ för att byta namn på eller ta bort filen. Med Kopiera filsökväg kan dokumentets fullständiga sökväg kopieras till klippbordet.

Det går att sortera listan på några olika sätt genom att högerklicka på listan och välja i menyn Sortera enligt. Alternativen är:

Dokumentnamn

  Listar dokumenten alfabetiskt enligt deras namn.

Dokumentsökväg

  Listar dokumenten alfabetiskt enligt sökvägen till dem.

Öppningsordning

  Listar dokumenten i den ordning de öppnades.

Dokumentlistan visar normalt historiken genom att skugga posterna för de senaste dokumenten med en bakgrundsfärg. Om dokumentet har redigerats, tonas extra färg in. Det senaste dokumentet har starkast färg, så att du lätt hittar dokumenten du arbetar med. Funktionen kan stängas av på sidan Dokument i inställningsdialogrutan.

Den normala platsen för dokumentlistan i &kate;s fönster är till vänster om redigeringsområdet.

### Menystruktur

&Alt;Uppåtpil Visa Föregående dokument

  Öppnar dokumentet som visas ovanför dokumentet som för närvarande är öppet i dokumentlistan.

&Alt;Neråtpil Visa Nästa dokument

  Öppnar dokumentet som visas nedanför dokumentet som för närvarande är öppet i dokumentlistan.

Visa Visa aktivt

  Visar dokumentet som för närvarande är öppet i dokumentlistan.

### Inställning

Bakgrundsskuggning

  Den här delen låter dig aktivera eller inaktivera visualiseringen med bakgrundsskuggning av senaste aktiviteter, och välja vilka färger att använda om den är aktiverad.

Sortera enligt

  Ställ in hur du vill att dokumentlistan ska sorteras. Det kan också ställas in från menyn som visas med höger musknapp i dokumentlistan.

Visningsläge

  Det här tillhandahåller två alternativ som påverkar visningen i verktygsvyn Dokument. Alternativet Trädvy visar dokumenten i ett träd under katalogerna de befinner sig i, medan Listvy visar en enkelt lista med dokument.

Visa fullständig sökväg

  När trädvyn och detta alternativ är aktiverat, visas den fullständiga sökvägen i filsystemet till katalogen för de katalogposter som visas i verktygsvyn Dokument, förutom själva katalogens namn. Det har ingen effekt i listvyn.

Martin
Gergov
&TC.Hollingsworth; &TC.Hollingsworth.mail;

## Insticksprogram för &gdb;

### Inledning

Insticksprogrammet för &gdb; i &kate; tillhandahåller ett enkelt gränssnitt för den populära avlusaren från &GNU;-projektet.

Tidigare erfarenhet av &gdb; rekommenderas starkt. För mer information om att använda &gdb;, besök &gdb;:s hemsida.

Insticksprogrammet för &gdb; kan aktiveras på sidan med insticksprogram i &kate;s inställningar.

För att insticksprogrammet ska fungerar riktigt, måste du ha en källkodsfil (av vilken typ som helst som stöds av &gdb;) och ett körbart program.

Om du kompilerar med &gcc;/`g++` bör du kanske använda kommandoradsväljaren ``-ggdb``.

Efter dessa förberedelser har gjorts, öppna källkodsfilen i &kate;, skriv in sökvägen till det körbara programmet under fliken Inställningar i verktygsvyn Avlusningsvy, och välj Avlusa Starta avlusning i menyn för att komma igång.

### Meny- och verktygsradstruktur

Alla dessa alternativ är tillgängliga i &kate;s menyer, och många är också tillgängliga från avlusningsverktygsraden.

Visa Verktygsvyer Visa avlusningsvy

  Visar en verktygsvy som innehåller utmatning från &gdb;, kommandoraden för &gdb; som använts, och andra inställningar.

Visa Verktygsvy Visa lokala objekt och stack

  Visar en lista med alla variabler som för närvarande är inlästa och deras värden, samt en &gdb; bakåtspårning.

Avlusa Mål

  En undermeny som innehåller en lista med mål (körbara program).

Avlusa Starta avlusning

  Startar &gdb; med ett mål.

Avlusa Döda eller stoppa avlusning

  Stoppar &gdb;.

Avlusa Starta om avlusning

  Startar om &gdb;.

Avlusa Växla brytpunkt

  Sätt en brytpunkt på markörens nuvarande position.

Avlusa Stega in i

  Kör aktuell sats (funktionsanrop avlusas).

Avlusa Stega förbi

  Kör aktuell sats (funktionsanrop avlusas inte)

Avlusa Stega ut ur

  Återupptar körning till programmet som kör avslutas.

Avlusa Flytta programräknare

  Flyttar programräknaren (nästa körning).

Avlusa Kör till markören

  Kör programmet till det når nuvarande markörposition.

Avlusa Fortsätt

  Ignorerar eventuella brytpunkter och kör programmet till det avslutas (med lyckat resultat eller inte).

Avlusa Skriv ut värde

  Skriver ut värdet på variabeln som markören för närvarande pekar på.

Inställningar Visade verktygsrader Insticksprogram för &gdb;

  Visar avlusningsverktygsraden.

### Avlusningsvy

Verktygsvyn Avlusningsvy består av flera flikar:

Utmatning från &gdb;

  Innehåller utmatning från &gdb; och en &gdb; kommandorad.

  Fliken Utmatning
  Fliken Utmatning.

  Fliken Utmatning visar utmatningen från en avlusningssession.

Inställningar
  Körbar fil

    Sökväg till mål (körbart program) att avlusa.

  Arbetskatalog

    Nuvarande arbetskatalog som tillhandahålls till målet.

  Argument

    Argument som skickas till programmet.

  Behåll fokus

    Behåller fokus på &gdb;:s kommandorad.

  Omdirigera in- och utmatning

    Visar en ny flik för I/O i Avlusningsvyn där du kan se utmatning från och ge inmatning till programmet som kör.

  Inställningsdialogrutan
  Inställningsdialogrutan

  Dialogrutan Inställningar visar inställningen för en avlusningssession.

I/O

  Innehåller ett område som visar utmatning från programmet som kör och en kommandorad där du kan ange inmatning till det.

  Fliken I/O
  Fliken I/O.

  Fliken I/O som visar utmatning från ett enkelt testprogram.

### Anropsstack och lokala objekt

Verktygsvyn Anropsstack innehåller en lista av formaterad bakåtspårning som returneras från &gdb;.

Verktygsvyn Anropsstack i &gdb;
Verktygsvyn Anropsstack.

Verktygsvyn Anropsstack i insticksprogrammet för &gdb;.

Verktygsvyn Lokala objekt innehåller en lista över alla variabler som för närvarande är laddade från programmet, och deras motsvarande värden.

Verktygsvyn Lokala objekt i &gdb;
Verktygsvyn Lokala objekt

Verktygsvyn Lokala objekt i insticksprogrammet för &gdb;.

### Tack och erkännanden

Särskilt tack till deltagaren i Google Code-In 2011, Martin Gergov, för att ha skrivit stora delar av det här avsnittet.

## Insticksprogrammet Öppna deklarationsfil

### Använda insticksprogrammet Öppna deklarationsfil

När C eller C++ kod redigeras, byter kommandot mellan en deklarationsfil och dess motsvarande C eller C++ fil eller vice versa.

Om du exempelvis redigerar `minklass.cpp`, byter åtgärden till `minklass.h` om filen är tillgänglig i samma katalog.

Par av följande filnamnsändelser fungerar:

- Deklarationsfiler: h, H, hh, hpp
- Källkodsfiler: c, cpp, cc, cp, cxx

### Menystruktur

F12 Arkiv Öppna .h/.cpp/.c

  Öppna motsvarande deklarations- eller källkodsfil för det aktiva dokumentet.

## Projektinsticksprogram

### Inledning

Grundidén med projektinsticksprogrammet är att ha en strukturerad fillista som hör till projektet med följande egenskaper:

1. Tillhandahålla en strukturerad vy av filerna

2. Göra det lätt och mycket snabbt att öppna och byta projekt

3. Stödja sök och ersätt i ett projekt

4. Tillhandahålla enkel automatisk komplettering

5. Göra det lätt att snabbt öppna filer i projektet

6. Stöd för att bygga projektet

### Strukturerad vy av filerna

När projektinsticksprogrammet väl har laddats från &kate;s inställningssida, öppna en fil i ett projekt så visas en sidorad där alla projekt samt projektfilerna listas på följande sätt:

Projektvy

Som synes är projektet som för närvarande är aktivt Kate, och dess innehåll listas i trädvyn. Genom att klicka på filer i trädvyn öppnas de i editorn. Dessutom tillhandahålls en sammanhangsberoende meny som gör att filer kan öppnas med andra program, såsom en `.ui`-fil med Qt Designer.

Det går att filtrera objekt genom att skriva in en del av filnamnet som du söker efter på sökraden längst ner i listan.

### Byta projekt

Idén är att man aldrig ska behöva öppna ett projekt manuellt, det stöds överhuvudtaget inte. Vad som sålunda sker om en fil öppnas är att projektinsticksprogrammet snabbt söker igenom katalogen och dess överliggande kataloger för att hitta filen `.kateproject`. Om den hittas, läses projektet automatiskt in.

Dessutom om ett annat dokument öppnas i &kate; som hör till ett annat projekt, byter projektinsticksprogrammet automatiskt aktuellt projekt. Alltså är intuitivt alltid rätt projekt aktivt. Man kan naturligtvis också byta projekt som för närvarande är aktivt genom att använda kombinationsrutan.

### Sök och ersätt i projekt

&kate; har insticksprogrammet Sök och ersätt som dyker upp i den nedre sidoraden. Om ett projekt är inläst, öppna sidoraden Sök och ersätt, och byt till läget för att söka och ersätta i det aktuella projektet:

Sök i projekt

### Enkel automatisk komplettering

Med kunskap om alla filer som hör till ett projekt, tillhandahåller projektinsticksprogrammet enkel automatisk komplettering baserat på CTags. Om ett projekt just har öppnats, tolkar CTags alla projektfiler i en bakgrundstråd och sparar CTags-information i `/tmp`. Filen används sedan för att fylla i rutan med automatisk komplettering i &kate;.

I motsats, utan automatisk komplettering klarar &kate; bara av att visa objekt för automatisk komplettering baserat på ord i den nuvarande filen. Alltså är den automatiska kompletteringen som tillhandahålls av projektinsticksprogrammet mycket kraftfullare.

Komplettering i projekt

Om CTags saknas, varnas du om problemet av en passiv meddelanderuta. Det är också värt att notera att CTags-filen i `/tmp` städas bort när &kate; avslutas, så insticksprogrammet förorenar inte någon katalog med oönskade filer.

### Snabböppna filer

Eftersom att klicka på filer i trädvyn inte är det snabbaste sättet att öppna en fil, tillhandahåller &kate; en inbyggd mekanism för snabböppning som kan aktiveras med &Ctrl;&Alt;O. Vad du då får är en sådan här lista:

Snabböppna

Du kan också filtrera genom att skriva in delar av filnamnet som du letar efter, och du kan också navigera med piltangenterna, Page Up och Page Down i listan. Genom att trycka på returtangenten aktiveras den markerade filen, medan Esc döljer snabböppningsvyn igen.

Dessutom kommer snabböppna ihåg föregående fil. Så när du byter till snabböppningsvyn är den föregående aktiva filen automatiskt markerad och du behöver bara trycka på returtangenten, vilket ibland är mycket bekvämt.

### Stöd för att bygga projektet

En annan funktion är att ha stöd för insticksprogrammet Bygg så att det automatiskt ställs in på ett riktigt sätt.

### Skapa projekt

#### Läsa in projekt automatiskt

Projektinsticksprogrammet har en funktion för automatisk inläsning. Du kan läsa fillistan från versionskontrollsystemet. För att åstadkomma det, måste automatisk inläsning vara aktiverat i inställningarna för respektive versionskontrollsystem (normalt är den det):

Inställning av projektinsticksprogrammet

#### Skapa projekt manuellt

Du behöver bara skapa filen `.kateproject` i projektets rotkatalog. Exempelvis ser `.kateproject`-filen för Kate ut så här:

    {
      "name": "Kate"
    , "files": [ { "git": 1 } ]
    }

Filens innehåll skrivs med &JSON;-syntax. Projektnamnet är Kate, och filerna som finns i det ska läsas från &git;.

Istället för `git` stöds också Subversion via `svn` och Mercurial via `hg`. Om du inte vill läsa från ett versionskontrollsystem, kan du tala om att filer ska läsas in rekursivt från kataloger enligt följande:

    {
      "name": "Kate"
    , "files": [ { "directory": "kate", "filters": ["*.cpp", "*.h", "*.ui", "CMakeLists.txt", "Find*.cmake"], "recursive": 1 } ]
    }

Här definierar underkataloger och filter vad som ingår i projektet. Du kan också blanda versionskontroll och filer baserade på filter.

Om du vill lägga till stöd för insticksprogrammet Bygg, kan `.kateproject` skrivas så här:

    {
      "name": "Kate"
    , "files": [ { "git": 1 } ]
    , "build": {
        "directory": "build"
      , "build": "make all"
      , "clean": "make clean"
      , "install": "make install"
      }
    }

### Aktuellt projekt

Genom att använda &Alt;1 Projekt Gå till kan vyn Aktuellt projekt öppnas längst ner i editorns fönster med fyra flikar:

Aktuellt projekt

Terminal

  En Terminalemulator som börjar i projektets rotkatalog.

Kodindex

  Att skriva in tecken i sökraden påbörjar sökningen och visar matchande namn på funktioner, klasser, symboler, etc., tillsammans med typ, filnamn och radnummer.

  Välj ett objekt i listan för att gå till motsvarande rad i källkodsfilen.

Kodanalys

  Klicka på Starta analys för att utföra en statisk kodanalys av C och C++ genom att använda `cppcheck` och skapa en rapport som visar filnamn, radnummer, svårighetsgrad (stil, varning, etc.) och problemet som hittades.

  Välj ett objekt i listan för att gå till motsvarande rad i källkodsfilen.

Anteckningar

  Text som matas in under den här fliken sparas i filen `projektnamn.kateproject.notes`.

### Menyn Projekt

Menyn Projekt låter dig byta mellan projekt som för närvarande är öppna. Den visas av insticksprogrammet Projekt.

&Ctrl;&Alt;Vänsterpil Projekt Bakåt

  Byt till föregående projekt.

&Ctrl;&Alt;Högerpil Projekt Framåt

  Byt till nästa projekt.

&Alt;1 Projekt Gå till

  Öppna vyn Aktuellt projekt längst ner i editorns fönster.

## LSP-klientinsticksprogram

LSP-klientinsticksprogram tillhandahåller många språkfunktioner som kodkomplettering, kodnavigering eller hitta referenser baserade på Language Server Protocol.

När LSP-klienten väl har aktiverats på insticksprogramsidan, visas en ny sida i &kate;s inställningsdialogruta som kallas LSP-klient.

### Menystruktur

Om det passar, nämns ett motsvarande LSP-kommando också i förklaringen nedan, och dokumentationen av det kan då ge ytterligare bakgrund och tolkning, även om det kan bero på själva språket. Uttrycket 'aktuell symbol' gäller symbolen som motsvarar markörens aktuella position, och sålunda bestämd av språket och serverimplementeringen.

LSP-klient Gå till definition

  [textDocument/definition] Gå till aktuell symboldefinition.

LSP-klient Gå till deklaration

  [textDocument/declaration] Gå till aktuell symboldeklaration.

LSP-klient Sök efter referenser

  [textDocument/references] Sök efter referenser till aktuell symbol.

LSP-klient Färglägg

  [textDocument/documentHighlight] Färglägg referenser till aktuell symbol i aktuellt dokument.

LSP-klient Håll över

  [textDocument/hover] Håll musen över för information om aktuell symbol.

LSP-klient Format

  [textDocument/formatting] [textDocument/rangeFormatting] Formatera aktuellt dokument eller aktuell markering.

LSP-klient Byt namn

  [textDocument/rename] Byt namn på aktuell symbol.

LSP-klient Visa vald kompletteringsdokumentation

  Visa dokumentation för ett markerat objekt i kompletteringslistan.

LSP-klient Inkludera deklaration i referenser

  Begäran om att inkludera en symbols deklaration när referenser efterfrågas.

LSP-klient Visa information för muspekaren

  Visa information för muspekaren när den hålls över någonting. Oberoende av inställningen, kan en begäran alltid initieras manuellt.

LSP-klient Formatera vid inskrivning

  [document/onTypeFormatting] Formatera delar av dokumentet när vissa utlösande tecken skrivs in. Det kan exempelvis utföra indentering vid nyrad, eller när det annars bestäms av LSP-servern. Observera att indenteringsskript i editorn kan försöka göra samma sak (beroende på läge), och därför kanske det inte är lämpligt att ha båda aktiverade samtidigt.

LSP-klient Inkrementell dokumentsynkronisering

  Skicka partiella dokumentredigeringar för att uppdatera servern istället för hela dokumentets text (om det stöds).

LSP-klient Visa diagnostikunderrättelser

  [textDocument/publishDiagnostics] Behandla och visa diagnostikunderrättelser som skickas av servern.

LSP-klient Visa diagnostikfärgläggning

  Lägg till textfärgläggning för intervall som indikeras i diagnostiken.

LSP-klient Visa diagnostikmarkörer

  Lägg till dokumentmarkörer för rader som indikeras i diagnostiken.

LSP-klient Byt till diagnostikflik

  Byt till diagnostikfliken i insticksprogrammets verktygsvy.

LSP-klient Stäng alla utom diagnostikflikar

  Stäng alla utom diagnostikflikar (t.ex. referensflikar) i insticksprogrammets verktygsvy.

LSP-klient Starta om LSP-server

  Starta om det aktuella dokumentets LSP-server.

LSP-klient Starta om alla LSP-servrar

  Stoppa alla LSP-servrar, som sedan startas (om) efter behov.

### Inställning

Insticksprogrammets inställningssida tillåter i huvudsak en bestående inställning av vissa av menyalternativen ovan. Dock finns det en ytterligare post för att ange serverns inställningsfil. Det är en &JSON;-fil som kan användas för att ange LSP-servern som ska startas (och sedan kommuniceras med via stdin/stdout). Av bekvämlighetsskäl inkluderas följande inställning (även om alternativa serverimplementeringar är lika giltiga och möjliga):

    {
        "servers": {
            "bibtex": {
                "use": "latex",
                "highlightingModeRegex": "^BibTeX$"
            },
            "c": {
                "command": ["clangd", "-log=error", "--background-index"],
                "commandDebug": ["clangd", "-log=verbose", "--background-index"],
                "url": "https://clang.llvm.org/extra/clangd/",
                "highlightingModeRegex": "^(C|ANSI C89|Objective-C)$"
            },
            "cpp": {
                "use": "c",
                "highlightingModeRegex": "^(C\\+\\+|ISO C\\+\\+|Objective-C\\+\\+)$"
            },
            "d": {
                "command": ["dls", "--stdio"],
                "url": "https://github.com/d-language-server/dls",
                "highlightingModeRegex": "^D$"
            },
            "fortran": {
                "command": ["fortls"],
                "rootIndicationFileNames": [".fortls"],
                "url": "https://github.com/hansec/fortran-language-server",
                "highlightingModeRegex": "^Fortran.*$"
            },
            "latex": {
                "command": ["texlab"],
                "url": "https://texlab.netlify.com/",
                "highlightingModeRegex": "^LaTeX$"
            },
            "go": {
                "command": ["go-langserver"],
                "commandDebug": ["go-langserver", "-trace"],
                "url": "https://github.com/sourcegraph/go-langserver",
                "highlightingModeRegex": "^Go$"
            },
            "python": {
                "command": ["python3", "-m", "pyls", "--check-parent-process"],
                "url": "https://github.com/palantir/python-language-server",
                "highlightingModeRegex": "^Python$"
            },
            "rust": {
                "command": ["rls"],
                "rootIndicationFileNames": ["Cargo.lock", "Cargo.toml"],
                "url": "https://github.com/rust-lang/rls",
                "highlightingModeRegex": "^Rust$"
            },
            "ocaml": {
                "command": ["ocamlmerlin-lsp"],
                "url": "https://github.com/ocaml/merlin",
                "highlightingModeRegex": "^Objective Caml.*$"
            }
        }
    }

Observera att varje "kommando" kan vara ett fält eller en sträng (som i så fall delas upp till ett fält). Dessutom tas också hänsyn till en "global" post (intill "server") (se även nedan).

Värdet "highlightingModeRegex" används för att avbilda färgläggningsläget som används av &kate; till serverns språk-id. Om inget reguljärt uttryck anges, används språk-id självt.

Kärnan är förmodligen klar från ovanstående exempel. Dessutom kan varje serverobjekt också ha posten "initializationOptions", som skickas med till servern som en del av metoden 'initialize'. Om den finns, skickas posten "settings" till servern via underrättelsen 'workspace/didChangeConfiguration'.

Diverse steg av överskridning och sammanfogning utförs:

- användarinställningen (inläst från fil) överskrider (den interna) standardinställningen

- posten "lspclient" i projektinställningen `.kateproject` överskrider ovanstående

- den resulterande "globala" posten används för att fylla i (inte överskrida) en eventuell serverpost

En serverinstans används per kombinationen (root, servertype). Om "root" anges som en absolut sökväg används den som den är, annars är den relativ till projectBase (som bestämd av projektinsticksprogrammet). Om den inte anges och "rootIndicationFileNames" är ett fält av filnamn, väljes en överliggande katalog till den aktuella dokumentet som innehåller en sådan fil. Som en sista reserv, väljes hemkatalogen som "root". För alla dokument bestämmer resulterande "root" sedan om en separat instans behövs eller ej. Om det är fallet, skickas "root" över som rootUri/rootPath.

I allmänhet rekommenderas att roten lämnas ospecificerad, eftersom den inte är så viktig för en server (ditt resultat kan dock avvika). Färre serverinstanser är uppenbarligen effektivare, och de har också en 'bredare' vy än många separata instanser.

#### LSP-serverinställning

Varje särskild LSP-server har sitt eget sätt att anpassas och kan använda språk- eller verktygsspecifika sätt för inställning, t.ex. `tox.ini` (a.o. för python), `.clang-format` för format med C++ stil. Sådana inställningar kan då också användas av andra (icke-LSP) verktyg (såsom tox eller clang-format). Förutom det, läser också vissa LSP-servrar in inställningar från egna filer (t.ex. `.ccls`). Dessutom kan egna serverinställningar också skickas via LSP (protokollet). Se ovannämnda posterna "initializationOptions" och "settings" i serverinställningen.

Eftersom diverse nivåer av överskridning eller sammanfogning används, justerar följande exempel på en användarspecificerad klientinställning några serverinställningar för språket Python.

    {
        "servers": {
            "python": {
                "settings": {
                    "pyls": {
                        "plugins": {
                            "pylint": {
                                "enable": true
                            }
                        }
                    }
                }
            }
        }
    }

Tyvärr är inställningen och anpassningen av LSP-server ofta inte så bra dokumenterad, på ett sådant sätt att bara granskning av källkoden visar inställningstillvägagångssätten och mängden tillgängliga inställningsalternativ. I synnerhet stöder servern i ovanstående exempel många fler alternativ under "settings". Se dokumentationen över en annan LSP klient för diverse andra exempel på språkservrar och motsvarande inställningar, vilka lätt och enkelt kan omvandlas till &JSON;-inställningen som används här och beskrivs ovan.

&TC.Hollingsworth; &TC.Hollingsworth.mail;

## Sök och ersätt

### Inledning

&kate;s insticksprogram Sök och ersätt låter dig söka efter text eller reguljära uttryck i många olika filer på en gång. Du kan söka i alla öppna filer, alla filer i en katalog och valfritt i dess underkataloger, eller i den aktiva filen. Du kan till och med filtrera enligt filnamn, exempelvis för att bara söka i filer som slutar med en viss filändelse.

### Gränssnitt

#### Sökbegrepp

Följande alternativ visas alltid längst upp i verktygsvyn Sök i filer:

  Du kan ha så många sökningar som du vill igång samtidigt. Klicka helt enkelt på knappen Ny flik längst upp till vänster i sökverktygets vy, så öppnas en ny resultatflik som låter dig utföra en ny sökning.

  Knappen i övre högra hörnet av verkygsvyn Sök i filer växlar nedre halvan av verktygsvyn mellan att visa ytterligare alternativ för katalogsökläget och resultatet av sökningarna.

Sök

  Här skriver du in vad du vill söka efter. Du kan skriva in vanlig text, eller ett reguljärt uttryck om det är aktiverat.

Ersätt (textruta)

  Ersättningstext som läggs till i filen eller filerna istället för texten i textrutan Sök.

Sök

  När du är klar med att ställa in allting, klicka bara på knappen Sök för att utföra sökningen. Du kan också trycka på returtangenten i textruta Sök för att åstadkomma samma sak.

Ersätt

  När du är klar med att ställa in allting, klicka bara på knappen Ersätt för att ersätta texten som matades in i textrutan Sök med den i textrutan Ersätt. Du kan också trycka på returtangenten i textrutan Ersätt för att göra samma sak.

Nästa

  Gå till nästa träff i sökningen, byter filer om det behövs.

Ersätt markerade

  Samma som Ersätt men utför bara ersättningar i filer som är markerade i rutan nedanför.

#### Alternativ för sök i katalog

Alternativen visas under de tidigare nämnda sökalternativen. Om sökresultaten visas istället, klicka på knappen för att visa dem.

Sök i

  Det har tre alternativ. Välj Öppna filer för att söka i alla filer som för närvarande är öppna i &kate;. Välj Katalog för att söka inne i en katalog och valfritt i dess underkataloger. Välj Aktuell fil för att bara söka i den aktiva filen.

  Om insticksprogrammet Projekt är laddat kan du också söka i Aktuellt projekt eller i Alla öppna projekt.

Matcha skiftläge

  Begränsar sökresultaten till bara de som har exakt samma kombination av stora och små bokstäver som sökbegreppet.

Reguljära uttryck

  Låter dig använda reguljära uttryck istället för enkel text som sökbegrepp.

Expandera resultat

  Visar alla resultat som hittas i varje fil, istället för bara en lista med filer som innehåller sökbegreppet.

Katalog

  Du kan skriva in sökvägen för katalogen som du vill söka i. Du kan exempelvis skriva in `~/utveckling/kde/kate/` om du skulle vilja söka i &kate;s källkod. Alternativet är bara tillgängligt när I katalog används.

Öppna fildialogruta

  Tryck på knappen för att bestämma katalogen med skrivbordets katalogbläddrare. Knappen är bara tillgänglig när alternativet Katalog används.

  Klicka på knappen för att ändra Katalog till den överliggande katalogen till katalogen som för närvarande är vald. Knappen fungerar bara när alternativet Katalog används.

  Den här knappen ändrar Katalog till den katalog där dokumentet som för närvarande är öppet finns. Knappen fungerar bara när alternativet Katalog används.

Filter

  Det här låter dig enbart söka efter filnamn som motsvarar ett visst mönster. För att exempelvis bara söka efter filer som är skrivna i C++, ändra det till `*.cpp`. För att söka efter filer som börjar med `kate`, ändra det till `kate*`. Du kan skriva in flera filter åtskilda med kommatecken (`,`). Alternativet är inte tillgängligt när Öppna filer används.

Undanta

  Motsatsen till Filter, och förhindrar &kate; från att söka i filer som motsvarar de angivna mönstren. Som med Filter kan du ange flera mönster åtskilda med kommatecken (`,`). Alternativet är inte tillgängligt när Öppna filer används.

Rekursiv

  Om alternativet är aktiverat, söker &kate; också i alla underkataloger till den valda katalogen. Alternativet är bara tillgängligt när Katalog används.

inkludera dolda

  Om alternativet är aktiverat, söker &kate; också i filer eller kataloger som normalt är dolda av operativsystemet. Alternativet är bara tillgängligt när Katalog används.

Följ symboliska länkar

  Insticksprogrammet Sök i filer, följer normalt inte symboliska länkar. När det här alternativet är aktiverat, följer insticksprogrammet dem och söker i filerna eller katalogerna de refererar till. Alternativet är bara tillgängligt när Katalog används.

  Det är möjligt för symboliska länkar att referera till en katalog som är överliggande katalog till den katalog som för närvarande söks igenom, eller andra kataloger som innehåller symboliska länkar till sina överliggande kataloger. Om en sådan länk finns i en katalog som söks igenom och det här alternativet är aktiverat, kommer &kate; följa länken upprepade gånger och söka igenom katalogen, och sökningen kommer aldrig att avslutas.

Sök även i binärfiler

  Om aktiverat, söker &kate; också i filer som inte verkar vara textfiler.

#### Sökresultat

Sökresultaten visas under sökalternativen. Om alternativen för Sök i katalog visas, klicka helt enkelt på knappen för att visa dem. De visas också automatiskt så fort en sökning utförs.

Sökresultatet visar en lista med filer som innehåller text som motsvarar sökbegreppet, följt av antal träffar i den filen.

För att se en lista med träffar i filen, klicka helt enkelt på expansionspilen till vänster om filnamnet (om du valde alternativet Expandera resultat, är det redan gjort åt dig). Radnumret där varje träff hittades visas, följt av innehållet på raden, med sökbegreppet angivet med fetstil.

För att öppna filen som resultatet hittades i, dubbelklicka helt enkelt på den. &kate; öppnar filen om det behövs. Du kan också flytta markören till platsen för en viss träff genom att dubbelklicka där den listas istället för filnamnet.

### Menystruktur

&Ctrl;&Alt;F Redigera Sök i filer

  Startar verktygsvyn Sök och ersätt

Redigera Gå till nästa träff

  Gå till nästa träff i en sökning utförd av insticksprogrammet Sök och ersätt.

Redigera Gå till föregående träff

  Gå till föregående träff i en sökning utförd av insticksprogrammet Sök och ersätt.

Visa Verktygsvyer Visa Sök och ersätt

  Visar eller döljer &kate;s verktyg Sök och ersätt.

Martin
Gergov
&TC.Hollingsworth; &TC.Hollingsworth.mail;

## Textsnuttar för &kate;

### Inledning

Textsnuttar för &kate; är ett insticksprogram som används för att spara tid åt dig genom att lägga till stöd för så kallade textsnuttar (återanvändbar källkod, maskinkod eller text). Insticksprogrammet har också stöd för kodkomplettering och &javascript;.

### Menystruktur

Visa Verktygsvyer Visa Textsnuttar

  Visar en panel som innehåller alla textsnuttar i ditt arkiv som gäller för den aktuella filtypen.

Verktyg Skapa textsnutt

  Skapa en ny textsnutt, vilket är ett återanvändbart textstycke som du kan infoga varsomhelst i vilket dokument som helst.

### Textsnuttpanel

Textsnuttpanel för &kate;
Textsnuttpanel för &kate;.

Panelen för &kate; textsnuttar.

Panelen ska visa en lista över textsnuttarkiv, tillsammans med alternativ för att skapa dina egna, hämta dem från internet, eller ladda dem från en lokal fil. Varje arkiv har en kryssruta som kan användas för att aktivera eller inaktivera det. Det finns också knappar för att redigera eller ta bort befintliga arkiv.

#### Ladda textsnuttarkivfiler

Du kan ladda ner textsnuttarkiv från internet. Klicka bara på Hämta nya textsnuttar, så visas ett fönster med en lista över textsnuttarkiv. När du har laddat ner den textsnutt du önskar, försäkra dig om att du har aktiverat den.

#### Skapa och redigera arkiv

För att skapa ett nytt textsnuttarkiv, klicka på Lägg till arkiv. Nu ska en dialogruta visas som frågar efter namnet på den nya textsnuttfilen, licens och upphovsman. Efter att du har gjort dina val, klicka på Ok.

Textsnutteditor
Arkiveditorn.

Arkiveditorns gränssnitt.

Arkiveditorn för textsnuttar innehåller följande alternativ:

Name

  Visas i listan över textsnuttar i verktygsvyn och söks också igenom när funktionen för textkomplettering används.

Namnrymd

  Prefix använt medan kodkomplettering används.

Licens

  Välj licens för arkivet med textsnuttar.

Upphovsmän

  Ange namnen på upphovsmännen till textsnuttfilen.

Filtyper

  Välj filtypen eller filtyperna som du vill att textsnuttarkivet ska gälla. Det är normalt inställt till * så att arkivet gäller alla filer. Det kan exempelvis ändras till något som `C++`, eller väljas från en lista genom att klicka på objekten. Du kan ange mer än en filtyp genom att klicka på &Shift; när typer läggs till.

#### Skapa och redigera textsnuttar

Textsnutteditor
Textsnutteditorn.

Redigeringsgränssnittet för textsnuttar.

Name

  Namnet visas i kompletteringslistan.

Genväg

  Att trycka på genvägen infogar textsnutten i dokumentet.

Textsnuttar

  Texten som textsnutten infogar i dokumentet.

  En textsnutt kan innehålla redigerbara fält. Man kan gå mellan dem genom att trycka på tabulatortangenten. Följande uttryck kan användas i malltexten för att skapa fält:

  `${fältnamn}` skapar ett enkelt redigerbart fält. Alla följande förekomster av samma fältnamn skapar fält som speglar innehållet i det första under redigering.

  `${fältnamn=förval}` kan användas för att ange ett förvalt värde för fältet. förval kan vara vilket &javascript;-uttryck som helst.

  Använd `${fältnamn=text}` för att ange en konstant sträng som förvalt värde.

  `${func(annat_fält_1, annat_fält_1, ...)}` kan användas för att skapa ett fält som utvärderar en &javascript;-funktion vid varje redigering och innehåller dess innehåll. Se fliken Skript för mer information.

  `${cursor}` kan användas för att markera slutposition för markören efter allt annat har fyllts i.

Skript

  &javascript;-hjälpfunktioner att använda i textsnuttar.

  Alla &javascript;-funktioner ska returnera innehållet som du vill placera i ett mallfält som en sträng.

  Funktioner anropas i en omgivning som innehåller alla redigerbara mallfälts innehåll som lokala variabler. I en textsnutt som exempelvis innehåller `${field}`, finns en variabel vid namn `field` som innehåller mallfältets aktuella värde. Variablerna kan antingen användas statiskt i funktionen eller skickas som argument genom att använda syntaxen `${func(field)}` eller `${field2=func(field)}` i textsnuttens sträng.

  Det går att använda &kate;s skriptprogrammeringsgränssnitt för att hämta markerad text, hela texten, filnamnet med mera genom att använda lämpliga metoder i objekten `document` och `view`. Se dokumentationen över skriptprogrammeringsgränssnittet för mer information.

### Använda textsnuttar

Textsnuttar för &kate; under användning
Åtkomst av textsnuttar för &kate; från en verktygsvy och kombinationsruta.

Välj i en lista med textsnuttar.

Textsnuttar kan anropas på två sätt:

- Genom att välja textsnutten i verktygsvyn.

- Under tiden du skriver, kan du trycka på &Ctrl;Mellanslag, som visar alla textsnuttar i ett bekvämt fönster där du kan välja en. Tangentkombinationen tillhandahåller en funktion som liknar kodkomplettering.

Om textsnutten innehåller variabler (förutom `${cursor}`) flyttas markören automatiskt till den första förekomsten av en variabel och väntar på att något ska skrivas in. När du är klar kan du trycka på tabulatortangenten för att gå till nästa variabel, och så vidare.

### Tack och erkännanden

&kate; textsnuttar är skrivet av Joseph Wenninger.

Särskilt tack till deltagaren i Google Code-In 2011, Martin Gergov, för att ha skrivit stora delar av det här avsnittet.

Ömer
Faruk
ORUÇ
&TC.Hollingsworth; &TC.Hollingsworth.mail;

## SQL-insticksprogram

### Inledning

Structured Query Language (SQL) är ett specialiserat språk för att uppdatera, ta bort och efterfråga information i databaser.

&kate;s SQL-insticksprogram låter dig:

- Skapa en databas

- Ansluta till befintliga databaser

- Infoga och ta bort data i databasen

- Utföra en förfrågan

- Visa resultat i en tabell

### Ansluta till en databas

Använd Lägg till anslutning i menyn SQL eller i verktygsraden, och välj därefter den &Qt;-databasdrivrutin du vill använda (inklusive QSQLITE, QMYSQL3, QMYSQL, QODBC3, QODBC, QPSQL7 och QPSQL). Om du inte kan se en önskad drivrutin, måste den installeras. Klicka därefter på Nästa.

Om databasen du valde använder en fil, ange helt enkelt databasens plats och klicka på knappen Nästa. Om den kräver anslutning till en server, måste du skriva in serverns värddatornamn, ditt användarnamn och lösenord, och eventuell ytterligare information som just den drivrutinen kräver. Klicka därefter på Nästa.

Ge till sist anslutningen ett namn, och klicka på Slutför.

### Starta en förfrågan

#### INSERT/DELETE/UPDATE

Du kan infoga, ta bort och uppdatera data med SQL-insticksprogrammet, precis som du skulle göra på kommandoraden eller inne i ett program. Skriv helt enkelt in en förfrågan och klicka på knappen Utför förfrågan på verktygsraden eller använd SQL Utför fråga (&Ctrl;E).

##### Några exempel på en förfrågan

`INSERT`

      INSERT INTO tabellnamn ("nyckel-1", "nyckel-2", "nyckel-3", "nyckel-4", "nyckel-5")
      VALUES ("värde-1", "värde-2", "värde-3", "värde-4", "värde-5" )

`DELETE`

      DELETE FROM tabellnamn WHERE name = "text"

`UPDATE`

      UPDATE tabellnamn SET "nyckel-1" = "text", "nyckel-2" = "text", "nyckel-3" = "text", "nyckel-4" = "text", "nyckel-5" = "text"

#### SELECT

Efter att ha utfört förfrågan `SELECT`, kan resultatet ses som en tabell som dyker upp i verktygsvyn SQL-datautmatning längst ner i &kate;, eller som text under SQL-textutmatning. Om ett fel uppstår visas det i textutmatningen.

##### Exempel på `SELECT`-förfrågan

    SELECT * FROM tabellnamn

I verktygsvyn SQL-datautmatning finns flera knappar:

Ändra storlek på kolumner till innehållet

  Ändra storlek på kolumner så att de passar till innehållet.

Ändra storlek på rader till innehållet

  Ändra storlek på rader så att de passar till innehållet.

Kopiera

  Markerar hela tabellens innehåll och kopierar det till klippbordet.

Exportera

  Exporterar hela tabellens innehåll till en fil, eller det nuvarande dokumentet med formatet kommaseparerade värden (CSV).

Rensa

  Tar bort allt från tabellvyn.

Nu kan du ändra färgerna som visas i tabellen på sidan SQL i Inställningar Anpassa &kate;... .

### Bläddring

Du kan bläddra i databasen genom att använda bläddringsverktygsvyn Databasschema till vänster. Informationen som visas beror på vilken databasdrivrutin som används.

Högerklicka var som helst i verktygsvyn och välj Uppdatera för att uppdatera listan. För att skapa en förfrågan för någon post i listan, högerklicka på en post, välj Skapa och välj frågetyp (SELECT, UPDATE, INSERT eller DELETE) i undermenyn som visas.

### Menystruktur

SQL Lägg till anslutning...

  Lägger till en ny anslutning med användning av vilken databasdrivrutin som helst.

SQL Ta bort anslutning

  Tar bort den markerade anslutningen.

SQL Redigera anslutning...

  Redigerar den nuvarande anslutningens inställningar.

Anslutningar

  Alla databasanslutningar som du har skapat listas mellan menyalternativen Redigera anslutning och Utför förfrågan. Välj en för att utföra en förfrågan eller göra ändringar i den.

&Ctrl;E SQL Utför förfrågan

  Utför din förfrågan.

### Tack och erkännanden

SQL-insticksprogrammet är skrivet av Marco Mentasti.

Särskilt tack till deltagaren i Google Code-In 2011, Ömer Faruk Oruç, för att ha skrivit stora delar av det här avsnittet.

## Insticksprogrammet Symbolvisning

### Använda insticksprogrammet Stäng förutom/som

Det gör det möjligt för utvecklare att visa symboler (funktioner, makron och strukturer) i källkod.

Genom att klicka på den tolkade informationen kan man enkelt bläddra i koden.

För närvarande stöds följande språk:

C/C++, &Java;, Perl, PHP, Python, Ruby, XSLT, Tcl/Tk, Fortran

Lista över funktioner:

- List- och trädläge
- Aktivera eller inaktivera sortering
- Dölj eller visa funktionsparametrar
- Expandera eller dra ihop i trädläge
- Automatisk uppdatering vid dokumentändring
- Tolkning av kod är baserad på ramverket för syntaxfärgläggning från KDE Ramverk

### Menystruktur

&Ctrl;\ Visa Verktygsvyer Visa symbollista

  Visa eller dölj &kate;s symbollista, som visar källkodens funktioner, makron och strukturer i det aktiva dokumentet.

### Inställning

Symbolvisning

Välj standardalternativ för tolken

## Vyinsticksprogrammet Terminalverktyg

Den inbyggda terminalemulatorn är en kopia av &kde;:s &konsole; terminalprogram, för bekväm användning. Den är tillgänglig via menyalternativet Visa Verktygsvyer Visa terminal, och får fokus så fort den visas. Dessutom, om alternativet Synkronisera automatiskt terminalen med nuvarande dokument om möjligt är aktiverat, så byter den till det nuvarande dokumentets katalog om möjligt när den visas, eller när nuvarande dokument ändras.

Den normala platsen i &kate;:s fönster är längst ner, under redigeringsområdet.

Du kan anpassa terminalen, med menyn som visas med höger musknapp. För mer information, se handboken för Terminal.

Den inbyggda terminalemulatorn tillhandahålls av vyinsticksprogrammet Terminalverktyg.

### Menystruktur

Visa Verktygsvyer Visa Terminal

  Visar eller döljer den inbyggda terminalemulatorn.

  När det aktiveras för första gången, skapas terminalen.

  När terminalemulatorn visas, så får den fokus, så att du kan börja skriva in kommandon omedelbart. Om alternativet Synkronisera automatiskt terminalen med nuvarande dokument om möjligt är aktiverat på sidan Terminal i den huvudsakliga inställningsdialogrutan, så byter skalsessionen arbetskatalog till katalogen för det aktiva dokumentet, om det är en lokal fil.

Verktyg Skicka till terminal

  Skicka texten som för närvarande är markerad till den inbyggda terminalemulatorn. Någon nyrad läggs inte till efter texten.

Verktyg Synkronisera terminalen med nuvarande dokument

  Detta gör att den inbyggda terminalen byter arbetskatalog med `cd` till det aktiva dokumentets katalog.

  Som ett alternativ kan du ställa in &kate; att alltid hålla terminalen synkroniserad med aktuellt dokument. Se för mer information.

Verktyg Ge fokus till/Ta bort fokus från ' terminalen

  Byt fokus från aktuellt dokument till terminalen och vice versa.

### Inställning

Du kan ställa in vyinsticksprogrammet Terminalverktyg på sidan Terminal i inställningsdialogrutan.

Följande alternativ är tillgängliga:

Synkronisera automatiskt terminalen med aktuellt dokument om möjligt

  Det gör att den inbyggda terminalen att byta katalog med `cd` till katalogen för det aktiva dokumentet, när den startas, och när ett nytt dokument får fokus. Om det inte aktiveras, måste du flytta dig i terminalen själv.

Ställ in miljövariabeln EDITOR till 'kate -b'

  Detta ställer in miljövariabeln `EDITOR` så att program som kör i den inbyggda terminalen som automatiskt öppnar en fil i editorn, öppnar dem i &kate; istället för standardeditorn som är inställd i skalet. Du kommer inte att kunna fortsätta använda terminalen innan du har stängt filen i &kate;, så att det anropande programmet är medvetet om att du är klar med redigeringen av filen.

## Insticksprogrammet Textfilter

### Använda insticksprogrammet Textfilter

Insticksprogrammet kan användas för att utföra behandla markerad text med användning av terminalkommandon. Markeringen används som indata till kommandot, och utdata ersätter antingen markeringen eller kopieras till klippbordet, beroende på vad användaren föredrar.

#### Exempel:

- `less /etc/fstab`: Klistra in filens innehåll eller kopiera det till klippbordet

- `wc`: Räkna markeringens rader, ord och tecken, och klistra in resultatet i dokumentet eller kopiera det till klippbordet

- `sort`: Sortera markeringens rader, och klistra in resultatet i dokumentet eller kopiera det till klippbordet

### Menystruktur

&Ctrl;\ Verktyg Filtrera text

  Visar dialogrutan Textfilter:

  Dialogrutan Textfilter

  Mata in skalkommandot i kombinationsrutan eller välj ett tidigare kommando i historiken.

  Kopiera resultatet istället för att klistra in det

    Kopiera resultatet till klippbordet och lämna dokumentet oförändrat.

  Sammanfoga standardutmatning och felutmatning

    Om markerad, sammanfogas data från standardutmatning och felutmatning och inga fel rapporteras. Annars visas felutmatning som ett passivt meddelande.

&Daniel.Naber; &Daniel.Naber.mail;

## &XML;-validering

Det här insticksprogrammet kontrollerar att &XML;-filer är giltiga och välformade.

Det här insticksprogrammet kontrollerar aktuell fil. En lista med varningar och fel visas längst ner i &kate;s huvudfönster. Du kan klicka på ett felmeddelande för att hoppa till motsvarande plats i filen. Om filen har en DOCTYPE, så används den DTD som anges av DOCTYPE för att kontrollera filens giltighet. Denna DTD förväntas finnas på en plats relativt den nuvarande filen, t.ex. om DOCTYPE refererar till DTD/xhtml1-transitional.dtd och filen heter `/home/peter/test.xml`, så förväntas denna DTD finnas under `/home/peter/DTD/xhtml1-transitional.dtd`. Dock så stöds också DTD:er som anges med HTTP.

Om filen inte har någon doctype, så kontrolleras att den är välformad.

För att ta reda på mer om &XML;, titta på de officiella W3C &XML;-sidorna.

Internt anropar insticksprogrammet det externa kommandot `xmllint`, som är en del av libxml2. Om det här programmet inte är riktigt installerat på systemet, fungerar inte insticksprogrammet.

För att ladda insticksprogrammet, öppna först &kate;s inställningsdialogruta under Inställningar Anpassa &kate;... . Markera därefter &XML;-validering, som visas under Program Insticksprogram och stäng dialogrutan.

### Menystruktur

&XML; Validera &XML;

  Det här startar kontrollen, som beskrivs ovan.

### Tack och erkännanden

&kate;s insticksprogram &XML;-validering copyright 2002 &Daniel.Naber; &Daniel.Naber.mail;.

Dokumentation copyright 2002 &Daniel.Naber;

&Daniel.Naber; &Daniel.Naber.mail;

## &XML;-komplettering

Det här insticksprogrammet ger tips om vad som är tillåtet på vissa ställen i en &XML;-fil, i enlighet med filens DTD. Det listar möjliga element, egenskaper, egenskapsvärden eller objekt, beroende på markörens plats (t.ex. så listas alla objekt om tecknet till vänster om markören är &). Det är också möjligt att avsluta den närmaste taggen till vänster som ännu ej avslutats.

En DTD på &XML;-format, som skapas av Perl-programmet `dtdparse` måste finnas. Den här sortens DTD:er kallas för meta-DTD:er. Vissa meta-DTD:er medföljer. De är installerade i `katexmltools/` i ``qtpaths` `--paths GenericDataLocation`` , som också är den förvalda katalogen när du väljer Tilldela meta-DTD.... För att skapa dina egna meta-DTD:er, hämta `dtdparse` från http://dtdparse.sourceforge.net.

### Användning

Starta &kate; och öppna inställningsdialogrutan med Inställningar Anpassa &kate;.... Markera därefter &XML;-komplettering, som visas på sidan Program Insticksprogram och stäng dialogrutan. Välj därefter &XML; Tilldela meta-DTD.... Om dokumentet inte innehåller någon DOCTYPE eller en okänd doctype, måste du välja en meta-DTD i filsystemet. Annars så laddas automatiskt den meta-DTD som hör ihop med det nuvarande dokumentets doctype.

Nu kan du använda insticksprogrammet medan du skriver in text:

< (mindre än tecken)

  Det här visar en lista med möjliga element om inte markören redan är inne i en tagg. Observera att du för närvarande inte kan använda det här för att infoga toppnivåelementet (t.ex. <html>).

</ (mindre än tecken + snedstreck)

  Att skriva in de här tecknen erbjuder att avsluta det aktuella elementet (det närmaste oavslutade till vänster om markören). Tryck på returtangenten för att acceptera förslaget. I motsats till menyalternativet Avsluta element, fungerar det här bara när en DTD har tilldelats.

" (citationstecken)

  Ett citationstecken visar en lista med möjliga attributvärden (om det finns några) när du är inne i en tagg.

(mellanslag)

  Den här tangenten visar en lista med möjliga egenskaper för det nuvarande elementet om du är inne i en tagg.

& (och-tecken)

  Den här tangenten visar en lista med namngivna objekt.

### Funktioner och begränsningar

Du kan prova alla funktioner och begränsningar genom att ladda `katexmltools/testcases.xml` i ``qtpaths` `--paths GenericDataLocation`` med &kate; och följa instruktionerna.

### Menystruktur

&Ctrl;Retur &XML; Infoga element...

  Det här visar en dialogrutan som låter dig infoga &XML;-element. Tecknen <, > och avslutande tagg infogas automatiskt. Om du har markerat text när menyalternativet utförs, omges den markerade texten av inledande och avslutande tagg. Dialogrutan erbjuder också komplettering av alla element som kan ha infogats på aktuell markörposition, om du har tilldelat en meta-DTD genom att använda Tilldela meta-DTD....

&Ctrl;< &XML; Avsluta element

  Det här söker i texten efter en tagg som ännu inte avslutats och avslutar den genom att sätta in motsvarande avslutningstagg. Sökningen börjar på markörens plats och går åt vänster. Om ingen tagg som inte har avslutats hittas, händer ingenting.

&XML; Tilldela meta-DTD...

  Det här talar om för insticksprogrammet vilken meta-DTD som ska användas för det nuvarande dokumentet. Observera att den här tilldelningen inte sparas. Du måste upprepa den när du startar &kate; nästa gång.

### Tack och erkännanden

&kate;s insticksprogram &XML;-validering copyright 2001, 2002 &Daniel.Naber; &Daniel.Naber.mail;.

&kde; programvarusamling 4 version copyright 2010 Tomáš Trnka

Dokumentation copyright 2001,2002 &Daniel.Naber;