Copyright © 2000, 2001 Seth Rothberg
Copyright © 2002, 2003, 2005 Anders Lund
Copyright © 2005, 2009 Dominik Haumann
Copyright © 2011, 2012, 2013, 2014 T.C. Hollingsworth
Kate is een tekstbewerker voor programmeurs door KDE
Deze handleiding beschrijft Kate versie 22.08
Inhoudsopgave
- 1. Inleiding
- 2. De basisbeginselen
- 3. Werken met de editor van Kate
- 4. Werken met plug-ins
- Kate-programma-plugins
- Externe hulpmiddelen
- Plug-in Backtrace Browser
- Bouwplug-in
- Plug-in voor sluiten Behalve/Like
- Plug-in voor kleurenkiezer
- Gekleurde blokhaakjes
- CTags plug-in
- Plug-in voor documentvoorbeeld
- Plug-in voor document wisselen
- Bestandssysteembrowser
- De documentenlijst
- GDB-plug-in
- Projectplug-in
- LSP-clientplug-in
- Zoeken & vervangen
- Kate Scripts & tekstfragmenten
- Plug-in Toetsenbordmacro's
- SQL-plug-in
- Plug-in voor Symboolviewer
- Plug-in voor terminalweergave
- Plug-in Tekstfilter
- XML-validatie
- XML-aanvulling
- Plug-in voor compiler-verkenner
- Plug-in voor formatteren
- 5. Geavanceerde hulpmiddelen voor bewerking
- 6. Kate uitbreiden
- 7. De VI-invoermethode
- 8. Het menu Items
- 9. Kate instellen
- 10. Dankbetuigingen en licentie
- A. Reguliere expressies
Lijst van tabellen
Lijst van voorbeelden
Welkom bij Kate, een tekstbewerker voor programmeurs door KDE. Enkele van Kate's vele mogelijkheden zijn de in te stellen syntaxis-accentuering voor (programmeer)talen van C en C++ tot HTML en bash-scripts, de mogelijkheid om projecten te maken en te onderhouden, een interface voor meerdere documenten (MDI) en een ingebouwde terminal.
Kate is echter meer dan een editor voor programmeurs. De mogelijkheid om meerdere bestanden tegelijkertijd te openen maakt Kate ideaal om de vele configuratiebestanden van UNIX® aan te passen. Dit document werd geschreven in Kate.

Het bewerken van deze handleiding...
Als u ooit een teksteditor hebt gebruikt dan zult u geen problemen hebben bij het gebruik van Kate. In de volgende twee secties, Kate starten en in Werken met Kate tonen we u alles wat u nodig hebt om snel aan het werk te kunnen.
U kunt Kate starten vanuit het startprogramma of vanaf de commandoregel.
Open het KDE programmamenu door op het pictogram van het startprogramma op de werkbalk aan de linker onderkant van uw scherm te klikken. Dit zal een menu laten verschijnen. Beweeg de cursor naar het menu-item → → → .
U kunt Kate starten door de naam op de commandoregel in te typen. Als u een bestandsnaam als argument meegeeft zoals in onderstaande voorbeeld, dan zal Kate dit bestand openen of het aanmaken als het nog niet bestaat.
%katemijnbestand.txt
als u een actieve verbinding hebt, en toestemming, kan kunt u gebruik maken van de voordelen van KDE's netwerk-transparantie om bestanden op het Internet te openen.
%kateftp://ftp.kde.org/pub/kde/README
Om de map voor tijdelijke bestanden, die standaard /tmp is, stel de omgevingsvariabele TMPDIR in alvorens Kate te starten, bijv.
%mkdir /tmp/kate -p && export TMPDIR=/tmp/kate && kate
Kate accepteert de volgende opdrachtregel-opties:
kate--helpToont de opties die beschikbaar zijn voor de commandoregel.
kate-s--startnaamStart Kate op met de sessie
naam. De sessie wordt aangemaakt als deze nog niet bestaat. Als een exemplaar van Kate al actief met de gespecificeerde sessie, dan worden de gespecificeerde bestanden in dat exemplaar geladen.kate-p--pidPIDAlleen een exemplaar met de gespecificeerde PID (Proces-ID) wordt hergebruikt.
kate-e--encodingcoderingURLGebruikt de opgegeven codering voor het document.
kate-l--lineregelnummerURLGa na het openen van het document naar de opgegeven regel.
kate-c--columnkolomURLGa na het openen van het document naar de opgegeven kolom.
kate-i--stdinLeest de documentinhoud van standaardinvoer. Dit is hetzelfde als de algemene optie
-die in veel commandoregelprogramma's gebruikt wordt; het stelt u in staat commando-uitvoer door te sluizen naar Kate.kate--startanonKate starten met een nieuwe anonieme sessie, houdt
-ninkate-n--newForceer de start van een nieuw Kate-proces (wordt genegeerd als de
startwordt gebruikt en een ander Kate-proces heeft de gegeven sessie al geopend), wordt geforceerd als helemaal geen parameters en URL's zijn gegeven.kate-b--blockBij gebruik van een al draaiend Kate-proces, blokkeren totdat deze gereed is, als er te openen URL's zijn gegeven.
U kunt Kate met deze optie als editor gebruiken voor het invoeren van commit-berichten voor versiecontrolesystemen zoals Git of Subversion. Deze systemen verwachten dat de editor geblokkeerd wordt totdat u uw bericht hebt ingevoerd, omdat zij dan het tijdelijke bestand openen, die leeg zou zijn als Kate onmiddellijk terug zou komen naar de oproeper.
Deze optie is ook nodig met KIO (KDE Input/Output), als u een bestand op afstand opent (die gedownload is naar een tijdelijk bestand) en moet worden geüpload, nadat u het hebt opgeslagen.
kate--tempfileWanneer u het gebruikt, worden de gespecificeerde bestanden behandeld als tijdelijke bestanden en verwijderd (als ze lokale bestanden zijn en u voldoende rechten hebt) bij afsluiten, tenzij ze zijn gewijzigd sinds ze werden geopend.
kate--desktopfilebestandsnaamDe basis bestandsnaam van het desktop-item voor deze toepassing.
Dit is speciaal nuttig voor wrapper-toepassingen en toepassingen die in het algemeen meerdere desktop-bestanden hebben. Dus elk desktop-bestand kan zijn eigen opdrachtregel voor het item
Exechebben.kate--authorToont de auteurs van Kate in het terminal venster.
kate-v--versionToont versie-informatie voor Kate.
kate--licenseToont de licentie-informatie.
In Snel beginnen kunt u lezen hoe u vier eenvoudige opties in-/uitschakelt waarmee u enkele van de meer krachtige functies van Kate direct kunt instellen. Sneltoetsen geeft een kort overzicht van enkele standaardsneltoetsen voor degenen die de muis niet kunnen of niet willen gebruiken.
In dit gedeelte worden enkele van de items van het menu beschreven, zodat u de manier waarop Kate werkt snel kunt aanpassen.
Wanneer u Kate voor de eerste keer start, ziet u twee vensters met een witte achtergrond. Boven de twee vensters is de werkbalk met de gebruikelijke pictogrammen met labels, daarboven bevindt zich de menubalk.
Het linkervenster is een zijbalk. Deze bevat de vensters Documenten en Bestandssysteembrowser. U kunt tussen deze twee vensters schakelen door op de tabbladen links van het venster te klikken.
Als u Kate gestart hebt met een bestand, ziet u het bestand in het rechter venster en de Documenten in de zijbalk toont de naam van het bestand. U kunt de Bestandssysteembrowser gebruiken om bestanden te openen.
U kunt alle zijbalkvensters aan en uitschakelen in het menu → of Ctrl+Alt+Shift+F gebruiken. Dit menu geeft u een eerste kennismaking met de mogelijkheden en de flexibiliteit van Kate.
In hebt u een lijst met alle ingeschakelde plug-ins. Klik het keuzevakje voor elk item of klik met de op de hulpmiddelknop in de zijbalk om deze weergave van hulpmiddelen aan of uit te schakelen.
Veel van de sneltoetsen in Kate kunnen ingesteld worden in het menu Instellingen. Standaard heeft Kate de volgende sneltoetsen:
F1 | Help |
Shift+F1 | |
Ctrl+N | Nieuw document |
Ctrl+L | Alles opslaan |
Ctrl+O | |
Ctrl+Alt+O | Snel openen |
Ctrl+Shift+F | Modus Volledig scherm |
Ctrl+Shift+, | Kate configureren |
Ctrl+W / Ctrl+Esc | |
Ctrl+Q | Sluiten - sluit de actieve kopie van de editor af |
Ctrl+Alt+Shift+F | Zijbalken tonen |
Ctrl+Shift+T | Horizontaal splitsen |
Ctrl+Shift+L | Verticaal splitsen |
F8 | Volgend opgedeeld venster |
Shift+F8 / Ctrl+Esc | Vorig opgedeeld venster |
Ctrl+Shift+R | Huidige weergave sluiten |
Alt+Right | Volgend tabblad |
Alt+Left | Vorig tabblad |
Ctrl+Shift+T | Laatst gesloten document(en) heropenen |
Bovendien kunt u de sneltoetsen gebruiken geleverd door de component KatePart en door alle geactiveerde Kate plug-ins.
Venster, weergave, document, frame, editor... Wat wordt ermee bedoeld in de terminologie van Kate en hoe werkt u er het beste mee? In dit hoofdstuk wordt dat alles, en meer, uitgelegd.
Het hoofdvenster van Kate is een standaardvenster, zoals de meeste toepassingen in KDE dat hebben. Bovendien zijn er zijbalken. Er is een menubalk met alle algemene en enkele extra menu's, en er is een werkbalk waarmee algemeen gebruikte commando's snel toegankelijk zijn.
Het belangrijkste gedeelte van het venster is het bewerkingsgebied. Hier wordt standaard een enkele te bewerken component weergegeven waarin u uw document kunt bewerken.
De mogelijkheid om vensters te parkeren wordt gebruikt voor subvensters (de vensters voor hulpmiddelen) van elke plug-in ingeschakeld in de instellingendialoog.
Subvensters kunnen in elke zijbalk worden geplaatst, om een subvenster/hulpmiddel te verplaatsen, klik rechts in de zijbalk en selecteer uit het -menu
Een subvenster kan als blijvend gemarkeerd worden in het -menu voor zijn zijbalkknop. De zijbalk kan meer subvensters/hulpmiddelen tegelijk bevatten, zodat een hulpmiddel blijvende is, ook andere hulpmiddelen gelijktijdig getoond kunnen worden.
Als een plug-in opties voor instellingen heeft kunt u het eerste item in het contextmenu gebruiken om de bijbehorende pagina in de instellen van Kate te openen.
Kate kan tegelijkertijd meer dan één document open hebben. Ook kan het editor-gedeelte in een willekeurig aantal frames gesplitst worden, net als in bijvoorbeeld Konqueror of de populaire tekstverwerker emacs. Op deze manier kunt u verschillende documenten tegelijk of verschillende weergaven van hetzelfde document zien. Dit kan handig zijn als het document bijvoorbeeld definities bevat die u steeds wilt kunnen zien, of u kunt een broncode header-bestand in het ene frame zien terwijl u het implementatiebestand in een ander frame bewerkt.
Wanneer u een document in meerdere editors tegelijk bewerkt, worden wijzigingen in de ene editor onmiddellijk zichtbaar in de andere, zowel wijzigingen in de tekst als het selecteren van tekst. Zoekopdrachten en verplaatsing van de cursor is alleen in de huidige editor zichtbaar.
Het is momenteel niet mogelijk om een document in de ene editor te wijzigen terwijl het in de andere ongewijzigd blijft.
Wanneer u een bewerker in twee frames splitst, worden de beide frames even groot en het huidige document wordt in beide frames weergegeven. Het nieuwe frame wordt onderin (bij horizontale splitsing) of rechts (bij verticale splitsing) geplaatst. Het nieuwe frame krijgt de focus, wat aangegeven wordt door een knipperende cursorbalk in het frame met focus.
Sessies gaat over hoe Kate u grip laat houden over meer dan één lijst met bestanden en GUI-configuraties. U kunt zoveel sessies met een naam hebben als u wilt en u kunt anonieme sessies ofwel zonder naam hebben voor bestanden die u slechts eenmaal wilt gebruiken. Op dit moment kan Kate de lijst met open bestanden en de algemene vensterconfiguratie in de sessie opslaan; toekomstige versies van Kate kunnen meer functies hebben die in sessies opgeslagen kunnen worden. Met de introductie van sessies stelt Kate u ook in staat om elk aantal exemplaren van de toepassing open te hebben in plaats van alleen één zoals deed in het standaard gedrag.
Sessies worden in drie gebieden ondersteund:
Commandoregel-opties die u sessies van Kate laat selecteren en starten vanaf de commandoregel.
Het menu Sessies dat u uw sessies laat omschakelen, opslaan, starten en beheren.
Configuratieopties die u laat beslissen hoe sessies zich in het algemeen zouden moeten gedragen.
Bij het starten van een nieuwe sessie wordt de GUI-configuratie van de Standaard sessie geladen. Om de vensterconfiguratie in de standaard sessie op te slaan, moet u het opslaan van de vensterconfiguratie in de pagina sessieconfiguratie van de configuratiedialoog inschakelen en dan de standaard sessie laden, het venster naar uw wensen instellen en de sessie opnieuw opslaan.
Wanneer een sessie met een naam wordt geladen, zal Kate de sessienaam tonen aan het begin van de venstertitel, die dan de vorm “Sessienaam: Documentnaam of URL - Kate” zal hebben
Bij het openen van bestanden op de commandoregel met --start of als een sessie wordt geselecteerd uit de sessiekiezer, dan wordt de gespecificeerde sessie geladen vóór de bestanden gespecificeerd op de commandoregel. Om bestanden met de commandoregel in een nieuwe sessie zonder naam te openen, stel Kate dan zo in dat een nieuwe sessie als standaard te starten in de sessiepagina van de configuratiedialoog of gebruik naam--start met een lege tekenreeks: ''.
Sinds Kate 2.5.1 wordt de PID van het huidige exemplaar geëxporteerd naar de omgevingsvariabele KATE_PID. Bij het openen van bestanden met de ingebouwde terminal zal Kate automatisch het huidige exemplaar kiezen als er verder niets hierover op de commandoregel staat.
Om snel bestanden te openen of tussen te schakelen, komt Kate met een ingebouwde dialoog voor snel openen. U kunt het openen met Ctrl+Alt+O.
Snel openen kan alle open documenten in Kate tonen evenals alle bestanden in open projecten. Om projectbestanden te kunnen zien moet u Projectplug-in inschakelen.
Snel openen gebruiken is erg eenvoudig. Nadat u het opent typt u gewoon de naam of gedeelte van de naam van het bestand dat u wilt openen in en snel openen zal de lijst gebaseerd op wat u typt filteren. Op Enter drukken opent het geselecteerde bestand, terwijl Esc de snel openen verbergt.
Standaard wordt alleen de bestandsnaam gezocht bij filteren. Als u het pad wilt zoeken moet u een "/" in de getypte tekst hebben. Bijvoorbeeld: "doc/index" zal alle bestanden zoeken die "index" bevatten in de map "doc".
De documenten die al geopend zijn zijn geaccentueerd in vet en worden bovenaan de lijst gezet wanneer de dialoog opent. Ook, wanneer snel openen verschijnt is het eerdere open document al geselecteerd zodat u Enter kunt indrukken en het neemt u naar dat document.
Snel openen biedt een paar configuratie-opties. Voor toegang tot deze opties, klik rechts in de invoerregel.
- Nu beschikbare opties zijn:
Huidige project- bestanden alleen uit het huidige project tonenAlle projecten- bestanden uit alle open projecten tonenVage filtering- algoritme voor vage filtering gebruiken om bestanden te zoekenFiltering met jokers- jokers bij filtering van bestanden gebruiken
- Dit handboek
Bevat zowel gedetailleerde documentatie over alle menu's, instelopties, hulpmiddelen, dialoogvensters, plugins, enz., als beschrijvingen van het venster van Kate, de editor en diverse concepten die in de toepassing gebruikt worden.
Druk op F1 of gebruik het menu → om dit handboek te lezen.
- "Wat is dit"-help
De "Wat is dit"-help geeft direct uitleg over elementen zoals knoppen of andere onderdelen van vensters.
We streven ernaar om voor alle elementen waar dit zinvol is "Wat is dit"-help te bieden. Het is beschikbaar in het gehele dialoogvenster "Instellingen" en ook in veel andere dialoogvensters.
Om de "Wat is dit"-help in te schakelen drukt u op Shift+F1 of gebruikt u het menu → . De cursor verandert in een pijl met een vraagteken en wanneer u op een element in het venster klikt, kunt u de "Wat is dit"-help voor dat element lezen als het beschikbaar is.
- "Help"-knoppen in dialoogvensters
Enkele dialoogvensters hebben een -knop. Wanneer u erop klikt wordt het KHelpCenter gestart met de relevante documentatie.
Kate heeft (nog!) geen methode om documentatie die gerelateerd is aan een bestand te lezen. Afhankelijk van het bestand dat u bewerkt, kan de Ingebouwde terminalemulator nuttig zijn om gerelateerde UNIX® man-pages of info-documentatie te lezen. U kunt hier ook Konqueror voor gebruiken.
De thuispagina van Kate levert enige Artikelen en howto's met verdere informatie die verder gaat dan de scope van dit handboek.
Voor informatie over de basis van het werken met de bewerkingscomponent onder Kate, zie het hoofdstuk Werken met de Editor van KatePart uit het handboek van KatePart.
U kunt de individuele plug-ins inschakelen in de instellingendialoog, die ook toegang biedt tot extra instellingenopties voor plug-ins die dat vereisen.
Kate-plugins zijn additionele functies voor Kate Ze kunnen extra menu's en sneltoetsen toevoegen en de mogelijkheden van Kate uitbreiden. U kunt er vanuit Kate net zo veel installeren als u wilt. Open het configuratiedialoogvenster van Kate door het menu → te kiezen. Kies dan → om de gewenste plugins te vinden.
De beschikbare plugins voor de toepassing zijn:
Externe hulpmiddelen - externe hulpmiddelen en toepassingen uitvoeren
Backtrace browser - Hulpmiddelweergave voor C/C++ backtrace navigatie
Bouwplug-in - Compileren of Make uitvoeren en foutboodschappen ontleden
Behalve/zoals sluiten - sluit een groep documenten gebaseerd op een gemeenschappelijk pad of een extensie van een bestand
Kleurenkiezer - Voorbeeld voor bekende kleurennamen tonen
Gekleurde blokhaakjes - Gekleurde blokhaakjes voor leesbaarheid
CTags - Definities/declaraties opzoeken met CTags
Documentvoorbeeld - toont het document in het doelformaat.
Documentomschakelaar - snel document omschakelen met Alt+Tab gedrag
Bestandssysteembrowser - Hulpmiddelenweergave voor bladeren door het bestandssysteem
Boomstructuurweergave van documenten - Toont de open bestanden in een boomstructuur
GDB - levert een eenvoudige GDB-frontend
Plug-in voor project - Integratie met Git en andere beheersystemen voor broncode
Replicode - Constructivist AI taal en runtime
LSP-client - LSP-client biedt codenavigatie en codeaanvulling voor vele talen
Zoeken & vervangen - Zoeken en vervangen in documenten, mappen of projecten
Scripts & Tekstfragmenten hulpmiddelenweergave - Maak of download codetekstfragmenten en bewerkerscripts
Toetsenbordmacro's - Neem toetsenbordmacro's op en speel ze af (d.w.z., toetsenbordactiereeksen)
SQL-plugin - Voer zoekopdracht op SQL-database uit
Symboolviewer - Referentiesymbolen uit de broncode halen en tonen
Terminalhulpmiddelweergave - Een terminal gereed hebben, met Konsole-widget van KDE
Tekstfilter - Tekst bewerken met terminalopdrachten
XML-aanvulling - Somt XML-elementen, -attributen, -attribuutwaarden en -entiteiten op die door de DTD zijn toegestaan
Validatie van XML- Valideert -bestanden met behulp van xmllint
Compiler-verkenner- Interface naar hulpmiddel compiler-verkenner
Formattering- Plug-in voor formatteren van code
De plug-in Externe hulpmiddelen biedt het aanroepen van externe toepassingen met gegevens gerelateerd met het huidige document, bijvoorbeeld zijn URL, map, tekst of selectie. Na te zijn ingeschakeld, verschijnt er een configuratiepagina zoals onderstaand aangegeven die in staat stelt om bestaande hulpmiddelen te wijzigen of te verwijderen. Evenzo kunnen nieuwe hulpmiddelen naar uw wensen worden toegevoegd. De hulpmiddelen zullen daarna verschijnen in het submenu van het menu van de toepassing.

De configuratiepagina biedt het toevoegen van nieuwe externe hulpmiddelen door te klikken op de knop Toevoegen. In dat geval verschijnt er een pop-up-menu waar u ofwel een nieuw extern hulpmiddel kan toevoegen of een bestaand hulpmiddel uit een voorgedefinieerde lijst of een nieuwe categorie om de externe hulpmiddelen in categorieën te organiseren. Evenzo kunnen bestaande hulpmiddelen gewijzigd worden door ofwel dubbelklikken of door Bewerken... te gebruiken en Verwijderen verwijdert de geselecteerde hulpmiddelen.
Een hulpmiddel bewerken opent een configuratiedialoogvenster die verfijnde configuratie van het hulpmiddel biedt:

- Zoals is te zien kunnen veel details gedefinieerd worden, namelijk:
Naam, de naam van het hulpmiddel, die later in het menu zal verschijnen.Pictogram, optioneel pictogram dat zichtbaar is in het menu.Uitvoerbaar programma, uitvoerbaar programma inclusief ofwel een volledig pad of uw uitvouwbare programma moet in de omgevingsvariabelePATHaanwezig zijn.Argumenten, optionele argumenten die aan het uitvoerbare programma worden meegegeven.Invoer, optionele invoer die aan het proces wordt doorgegeven via stdin.Werkmap, de werkmap waarin het hulpmiddel zal worden gestart. Indien leeg zal de werkmap ingesteld worden op het huidige pad van het document.Mime-types, indien ingesteld is het hulpmiddel alleen actief als het mime-type van het huidige document overeenkomt.Opslaan, bij aanroepen, slaat geen, het huidige document of alle documenten op.Trigger, een trigger om dit hulpmiddel uit te voeren. Een trigger zal alleen het huidige actieve document betreffen en zal alleen worden uitgevoerd als het mime-type van het huidige actieve document overeenkomt met het mime-type van het externe hulpmiddel.- De volgende triggers zijn beschikbaar:
Geen, dit is de standaard, het betekent dat het hulpmiddel geen trigger heeft.Vóór opslaan, deze trigger zal uitgevoerd worden direct voordat het document wordt opgeslagen.Na opslaan, deze trigger zal door het hulpmiddel uitgevoerd worden nadat het document is opgeslagen.
Huidig document opnieuw laden na uitvoeren, nuttig wanneer het huidige bestand op schijf is gewijzigd.Uitvoer, de uitvoer definieert het doel van stdout. Het is ofwel ingesteld opNegeren,Invoegen op de cursorpositie,Geselecteerde tekst vervangen,Huidig document vervangen,Achtervoegen aan huidig document,Invoegen in nieuw document,Naar klembord kopiërenofIn paneel tonen.Berwerkingsopdracht, optionele opdracht die gebruikt kan worden om het externe hulpmiddel via de ingebouwde opdrachtregel aan te roepen.
De knop Standaarden is alleen zichtbaar voor hulpmiddelen die geleverd zijn met Kate. Bij erop klikken worden alle instellingen van de hulpmiddelen teruggedraaid naar de standaard (aka factory) waarden.
Sommige velden voor bewerking zoals Uitvoerbaar programma, Argumenten, Invoer en Werkmap ondersteunen variabelen die geëxpandeerd worden bij aanroepen van het hulpmiddel. Dit wordt aangegeven met het pictogram {} dat verschijnt op het moment dat een van deze tekstinvoervelden focus heeft (zie rode cirkel):

Zweven boven een van deze tekstinvoervelden toont ook een tekstballon met de nu geëxpandeerde tekst. Voorts, klikken op de actie {} zal een dialoog openen die alle beschikbare variabelen zal tonen:

Deze functie biedt heel wat flexibiliteit bij het definiëren van een extern hulpmiddel omdat alle variabelen van de vorm %{...} geëxpandeerd zijn wanneer het hulpmiddel wordt aangeroepen. Er worden twee soorten variabelen ondersteund:
%{variable-name}%{variable-name:<value>}
De eerste vorm %{variable-name} vervangt eenvoudig de variabele met zijn inhoud. Bijvoorbeeld, de variabele %{Document:FileName} wordt vervangen door de bestandsnaam van het huidige document zonder zijn pad. De tweede vorm %{variable-name:<value>} krijgt <value> als inhoud. Bijvoorbeeld, dit kan gebruikt worden om een omgevingsvariabele in te voegen met %{ENV:HOME} of men kan de huidige datum in het formaat met voorkeur verkrijgen zoals %{Date:yyyy-MM-dd}.
- Ondersteunde variabelen omvatten:
Document:FileBaseName: basisnaam van bestand zonder pad en achtervoegsel van het huidige document.Document:FileExtension: bestandsextensie van het huidige document.Document:FileName: bestandsnaam zonder pad van het huidige document.Document:FilePath: volledige pad van het huidige document inclusief de bestandsnaamDocument:Text: inhoud van het huidige document.Document:Path: volledige pad van het huidige document exclusief de bestandsnaam.Document:NativeFilePath: volledige pad van document inclusief bestandsnaam, met inheems scheidingsteken van pad (backslash op Windows).Document:NativePath: volledige pad van document exclusief bestandsnaam, met inheems scheidingsteken van pad (backslash op Windows).Document:Cursor:Line: regelnummer van de positie van de tekstcursor in het huidige document (begint met 0).Document:Cursor:Column: kolomnummer van de positie van de tekstcursor in het huidige document (begint met 0).Document:Cursor:XPos: x-component in globale schermcoördinaten van de cursorpositie.Document:Cursor:YPos: y-component in globale schermcoördinaten van de cursorpositie.Document:Selection:Text: tekstselectie van het huidige document.Document:Selection:StartLine: beginregel van geselecteerde tekst van het huidige document.Document:Selection:StartColomn: beginkolom van geselecteerde tekst van het huidige document.Document:Selection:EndLine: eindregel van geselecteerde tekst van het huidige document.Document:Selection:EndColomn: eindkolom van geselecteerde tekst van het huidige document.Document:RowCount: aantal rijen van het huidige document.Document:Variable:<variable>: expandeer willekeurige documentvariabelen.Date:Locale: de huidige datum volgens uw lokale opmaak.Date:ISO: de huidige datum (ISO).Date:<value>: de huidige datum (QDate formaattekenreeks).Time:Locale: De huidige tijd volgens uw lokale opmaak.Time:ISO: de huidige tijd (ISO).Time:<value>: de huidige tijd (QTime formaattekenreeks).ENV:<value>: toegang tot omgevingsvariabelen.JS:<expressie>: eenvoudige JavaScript statements uitvoeren.PercentEncoded:<text>: procent gecodeerde tekst.UUID: een nieuwe UUID genereren.
Verschillende hulpmiddelen worden standaard geleverd. Als u echter meer nuttige hulpmiddelen hebt draag ze dan bij op our GitLab project zodat we ze aan deze lijst kunnen toevoegen. Alle standaard hulpmiddelen zijn standaard zichtbaar in de lijstweergave. Alle hulpmiddelen kunnen naar uw wensen gewijzigd worden, inclusief de categorie of zelfs hulpmiddelen verwijderen. Verwijderde hulpmiddelen kunnen opnieuw terug toegevoegd worden door te klikken op de knop in de configuratiepagina zoals boven beschreven.
git-cola
- git-cola is een grafische git-client die u in staat stelt om gemakkelijk wijzigingen te "stagen" en te "committen". Als het is geïnstalleerd is het ook beschikbaar via de opdrachtregel door
git-colate typen Naam: git-colaPictogram: git-colaUitvoerbaar programma: git-colaArgumenten: -r %{Document:Path}Opdracht in editor: git-cola
gitk
- gitk is ook een git-client die biedt om mooi de git-geschiedenis te visualiseren.
Naam: gitkPictogram: git-guiUitvoerbaar programma: gitkWerkmap: %{Document:Path}Opdracht in editor: gitk
git-blame
- Start git-blame om gemakkelijk de git-wijzigingen in het huidige bestand te volgen.
Naam: git blameUitvoerbaar programma: gitArgumenten: gui blame %{Document:FileName}Save: Huidig documentWerkmap: %{Document:Path}Opdracht in editor: git-blame
Shell-script uitvoeren
- Start een extern konsole waarin het huidige document wordt uitgevoerd. Het script moet de interpretator aangeven in de eerste regel via een shebang
#!/pad/interpretator. Naam: Shell-script uitvoerenPictogram: system-runUitvoerbaar programma: konsoleArgumenten: -e sh -c "cd %{Document:Path} && pwd && chmod -vc a+x %{Document:FileName} && ./%{Document:FileName} ; echo Press any key to continue. && read -n 1"Save: Huidig documentWerkmap: %{Document:Path}Opdracht in editor: run-script
Google geselecteerde tekst
- In Google naar geselecteerde tekst zoeken.
Naam: Google geselecteerde tekstPictogram: globeUitvoerbaar bestand: xdg-openArgumenten: "https://www.google.com/search?q=%{Document:Selection:Text}"Opdracht in editor: google
UUID invoegen
- Een nieuwe UUID invoegen elke keer wanneer deze actie wordt aangeroepen.
Naam: UUID invoegenUitvoerbaar programma: echoArgumenten: %{UUID}Uitvoer: op cursorpositie invoegenOpdracht in editor: uuid
Clang-formaat volledig bestand
- Voert clang-format uit op het huidige bestand op schijf. Het document wordt daarna opnieuw geladen.
Naam: Clang Format volledig bestandUitvoerbaar programma: clang-formatArgumenten: -i %{Document:FileName}Werkmap: %{Document:Path}Save: Huidig documentHerladen: jaOpdracht in editor: clang-format-file
Clang-formaat geselecteerde tekst
- clang-format wordt uitgevoerd alleen op de geselecteerde tekst in het huidige document.
Naam: Clang Format geselecteerde tekstUitvoerbaar programma: clang-formatArgumenten: -assume-fileName: %{Document:FileName}Werkmap: %{Document:Path}Invoer: %{Document:Selection:Text}Uitvoer: geselecteerde tekst vervangenOpdracht in editor: clang-format-selection
Qt Quick 2 voorbeeld (qmlscene)
- Bekijkt het huidige qml-bestand in qmlscene.
Naam: Qt Quick 2 voorbeeld (qmlscene)Uitvoerbaar programma: qmlsceneArgumenten: %{Document:FileName}Save: Huidig documentWerkmap: %{Document:Path}Opdracht in editor: qml-preview
JSON-formaat volledig bestand
- Het gehele JSON-bestand formatteren.
Naam: JSON-formatteren volledig bestandPictogram: application-jsonUitvoerbaar programma: jqArgumenten: %{Document:FileName}Save: Huidig documentWerkmap: %{Document:Path}Uitvoer: huidig document vervangenOpdracht in editor: json-format-file
XML-formaat volledig bestand
- Het gehele XML-bestand formatteren.
Naam: XML-formaat volledig bestandPictogram: application-xmlUitvoerbaar programma: xmllintArgumenten: --format %{Document:FileName}Save: Huidig documentWerkmap: %{Document:Path}Uitvoer: huidig document vervangenOpdracht in editor: xml-format-file
Deze plug-in is bedoeld voor ontwikkelaars en waarschijnlijk van weinig nut voor gebruikers. Het toont een backtrace geleverd door gdb in een lijstweergave in hulpmiddelenweergave van Kate. Klikken op een item opent het geselecteerde bestand en springt naar het juiste regelnummer. Het werkt voor backtraces gegenereerd op uw eigen machine, maar het zal ook werken voor backtraces van andere mensen, bijv. met /home/dummy/qt-copy/…/qwidget.cpp zal het nog steeds gevonden worden op andere machines. Om dat te laten werken moet u de mappen waar de broncode zich bevindt indexeren.
Soms zijn er een aantal bestanden met dezelfde naam, bijv.
kdegraphics/okular/generators/dvi/config.h |
kdepim-runtime/resources/gmail/saslplugin/config.h |
Om de juiste keuze te maken pakt de plug-in de laatste twee delen van de URL, in dit geval zou dat zijn
dvi/config.h |
saslplugin/config.h |
En dan vindt de plug-in zoals gebruikelijk de juiste.
Indexeren van de master en een branch zal natuurlijk tot een botsing leiden.
Op de instellingenpagina voegt u de mappen toe die de broncode bevatten.
Op klikken zal indexering starten. Wanneer indexering gereed is, open dan het weergavehulpmiddel Backtrace browser.
Nu kunt u een backtrace uit het klembord laden (bijv.. wanneer u op klikt in DrKonqi) of uit een bestand.
De plug-in Build biedt u het uitvoeren van acties zoals bouwen, wissen en compileren op een project. U kunt ook automatisch de gegenereerde toepassing uitvoeren. De plug-in geeft in de basis u een manier om sets van uit te voeren commando's te configureren en het kan de uitvoer doorzoeken op koppelingen naar bestanden en specifieke regels en kolommen in die bestanden. Dus zelfs als de plug-in oorspronkelijk is gemaakt voor het compileren van C/C++ en het meest daarmee is getest, kan de plug-in ook nuttig zijn voor andere doelen en talen.
De plug-in Build voegt een weergavehulpmiddel Build onderaan toe en een menu op de menubalk. Het weergavehulpmiddel kan worden gebruikt om bouwdoelen te selecteren en te configureren, terwijl het menu en zijn sneltoetsen gebruikt kunnen worden om de geconfigureerde shell-opdrachten uit te voeren.
Het weergavehulpmiddel Build heeft twee statische tabbladen:
Instellingen van doel
Uitvoer
Het tabblad Instellingen van doel kan gebruikt worden om verschillende bouwdoelen te configureren en sets doelen te definiëren.
Een doel-set is een groep opdrachten die uitgevoerd kunnen worden in een gespecificeerde werkmap. Doel-sets kunnen toegevoegd worden onder ofwel Projecten of Sessie. De aangepaste doel-sets toegevoegd onder Projecten worden opgeslagen in een bestand .kateproject.build in de project basismap en worden hersteld wanneer het project opnieuw wordt geopend. De doel-sets toegevoegd onder Sessie worden opgeslagen in de huidige sessieconfiguratie van Kate.
De eerste rij, in een doel-set, bevat een naam voor de set in kolom een en in kolom twee hebben we de map waar de opdrachten uitgevoerd zouden moeten worden. Op elke volgende rij hebben we een naam voor het commando in kolom een, een bouwopdracht in kolom twee en een uitvoeropdracht in kolom drie. Om een va deze te bewerken, dubbelklik op het item of gebruik de sneltoets bewerken (vaak F2).
- Werkmap
De tweede kolom van de eerste rij in een doel-set, wordt gebruikt om de werkmap gebruikt voor compileren en uitvoeren van opdrachten. Als de project-plug-in is ingeschakeld kan de werkmaptekenreeks ook plaatshouders voor het basismappad van het project bevatten: %B en naam: %b
- Bouwcommando
De tweede kolom in de "niet-eerste rijen", bevat de shell-opdrachten om uit te voeren in de werkmap. Let op het woord shell. Bijna elke shell-opdracht is goed. De bouwopdracht kan plaatshouders bevatten. %f voor het huidige bestand, %d voor de map van het huidige bestand en %n voor de basisnaam van de huidige bestandsnaam (zonder achtervoegsel).
- Commando uitvoeren
De derde kolom in de "niet-eerste rijen" kan een shell-opdracht bevatten voor uitvoeren in een actuele terminal in de werkmap van de doel-set. De terminal is geopend als een tabblad. De plug-in zal proberen het terminal tabblad te hergebruiken, als dezelfde opdracht wordt uitgevoerd en de vorige toepassing is geëindigd.
Bovenaan het tabblad Doelinstellingen hebben we een werkbalk met een doelfilter en de volgende knoppen:
Bouw het geselecteerde doel |
Bouw het geselecteerde doel |
Een nieuw bouwdoel toevoegen |
Een nieuwe set doelen aanmaken |
Kopieer een set commando's of doelen |
De huidige set commando's of doelen verwijderen |
Het tabblad Uitvoer toont de uitvoer op het console gegenereerd door de draaiende (bouw) opdracht. Als een regel een locatie van een bestand bevat, zal op die regel geklikt kunnen worden. Als de regel in de uitvoer ook een fout of waarschuwing toont, zal de regel een andere kleur hebben.
Als de optie Fouten en waarschuwingen aan Diagnostiek toevoegen is ingeschakeld in de instellingenpagina van de plug-in in instellingen van Kate, zullen de fouten en waarschuwingen ook toegevoegd worden aan de diagnostiekweergave. Om naar de vorige fout te gaan drukt u op Alt+Shift+Left. Om naar de volgende fout te gaan drukt u op Alt+Shift+Right.
- →
Het doelselectiefilter heeft focus in het tabblad Doelinstellingen. Invoeren van een naam zal doelen uitfilteren die niet overeenkomen met de ingevoerde tekenreeks. Het is ook mogelijk de pijltjestoetsen te gebruiken om te navigeren in de boomstructuur van doelen. Wanneer het gewenste doel is geselecteerd, drukken op Return of Enter zal het geselecteerde doel uitvoeren.
- →
Bouwt het laatst geselecteerde doel. Als er niets was geselecteerd, werkt het als Doel selecteren...
- →
Bouwt het laatst geselecteerde doel en voert de uitvoeropdracht uit nadat de bouwopdracht met succes is beëindigd.
- →
Probeer het huidige bestand te compileren door te zoeken naar een opdracht in een mogelijk compile_commands.json.
- →
Stop met bouwen van een doel.
- →
Focusseer het volgende tabblad bouwplug-in links. Of open de hulpmiddelweergave bouwplug-in als het verborgen is.
- →
Focusseer het volgende tabblad bouwplug-in rechts. Of open de hulpmiddelweergave bouwplug-in als het verborgen is.
- →
Opent de bestandsdialoog en laat de gebruiker een CMakeCache.txt selecteren. Wanneer een bestand is geselecteerd, genereert de plug-in cmake-bouwopdrachtdoelen die uitgevoerd kunnen worden in de bouwmap voor het op CMake gebaseerde project.
De plugin biedt u de mogelijkheid om een groep van documenten gebaseerd op hun extensie en pad te sluiten
Aangenomen dat u deze documenten hebt geopend in Kate:
| /tmp/subfolder/test.h |
| /tmp/test.cpp |
| /tmp/test.txt |
U hebt dan de volgende opties om documenten te sluiten zoals getoond in de schermafdruk:
Gebruik het keuzevakje in het laatste item van de lijst om een bevestigingsdialoog in of uit te schakelen. De geselecteerde optie zal toegepast worden op beide afsluitacties.
Deze plug-in voegt een inline kleurenvoorbeeld/kiezer toe aan kleuren in de tekst (bijv., #FFFFFF, wit).
Om deze plugin te laden opent u de instellingendialoog van Kate onder → . Selecteer daarna Kleurenkiezer en sluit de dialoog.
Op de instellingenpagina van de kleurenkiezer in de configuratie van Kate kunt u de volgende opties selecteren voor het gedrag van de plug-in.
- Voorbeeld voor bekende kleurennamen tonen
Ofwel de kleurenkiezer tonen voor bekende kleurnamen (bijv.,
hemelsblauw). Zie deze pagina voor de lijst met kleuren.- Voorbeeld na tekstkleur plaatsen
Ofwel het inline voorbeeld plaatsen na tekstkleur in de tekst.
- Overeenkomst maken met hex-kleur
Hier kunt u de best overeenkomende optie kiezen voor de kleuren die in uw code worden gebruikt.
Plug-in voor gekleurde blokhaakjes voor bij elkaar horende paren in verschillende kleuren om leesbaarheid te vergroten. Er worden, echter, niet alle blokhaakjes gekleurd. Een blokhaakje waarvan het bijbehorende opener of sluiter niet zichtbaar is zal genegeerd worden. Evenzo zal een blokhaakjespaar die het enige paar is in een regel niet gekleurd worden.
CTags genereert een index- (of tag-)bestand van taalobjecten gevonden in broncodebestanden die het mogelijk maken deze items snel en gemakkelijk te lokaliseren met deze plug-in in Kate.
Een tag geeft een taalobject aan waarvoor een index-item beschikbaar is (of, anders, het index-item gemaakt voor dat object).
Tag-generatie wordt ondersteund voor deze programmeertalen.
De CTags-plug-in gebruikt twee verschillende databasebestanden voor de index.
Op de instellingenpagina van CTags in de configuratie van Kate kunt u mappen met de broncode toevoegen of verwijderen en de gezamenlijke CTags-database genereren.
Onderaan de instellingenpagina kunt u het CTags-commando aanpassen.
Voor meer informatie over alle beschikbare opties kunt u de manpagina van CTags raadplegen. Deze manpagina is beschikbaar in KHelpCenter en u kunt ook de URL man:/ctags direct in Konqueror invoeren.
Klikken op zal indexering starten. Wanneer indexering gereed is, sluit dan de dialoog.
Om de sessie-index in te stellen opent u de weergave CTags.
U plaatst de muiscursor op het programmeertaalobject zoals functie, symbool etc. waarin u bent geïnteresseerd en selecteer daarna een van de acties in het menu om te springen naar de regel en het bestand waar het object is gedefinieerd of gedeclareerd.
Standaard zijn er aan de acties in het menu geen sneltoetsen toegekend. Gebruik de sneltoetsbewerker om uw eigen sneltoetsen in te stellen.
Als alternatief kunt u het zoekveld in het tabblad Opzoeken van de CTags weergave.
Tekens invoeren in het zoekveld zal het zoeken starten en overeenkomende namen van programmeertaalobjecten zoals functies, klassen, symbolen etc. tonen samen met het type en de bestandsnaam.
Selecteer een item in de lijst om naar de bijbehorende regel in het broncodebestand te springen.
- →
Navigeer terug in de geschiedenis naar de laatst bezochte tag.
- →
Opent het tabblad Opzoeken van de CTags weergave en toont alle programmeertaalobjecten die overeenkomen met de huidige tekstselectie in de lijst.
- →
Als de cursor zich in een definitieobject bevindt dan opent dat het document met de bijbehorende declaratie, indien nodig wordt zijn weergave geactiveerd en wordt de cursor aan het begin van de declaratie geplaatst.
- →
Als de cursor zich in een declaratieobject bevindt dan opent dat het document met de bijbehorende definitie, indien nodig wordt zijn weergave geactiveerd en wordt de cursor aan het begin van de definitie geplaatst.
De plug-in schakelt een live voorbeeld in van het nu bewerkte tekstdocument in het uiteindelijke formaat in de zijbalk. Dus bij bewerken van bijv. een Markdown-tekst of een SVG-afbeelding, is het resultaat onmiddellijk zichtbaar naast de brontekst.
Voor het tonen gebruikt de plug-in die KParts-plug-in die nu is geselecteerd als die met voorkeur voor het MIME-type van het document. Als er geen KParts-plug-in is voor dat type, dan is geen voorbeeld mogelijk.
Om de plug-in met voorkeur voor openen te wijzigen is de module Bestandsassociaties in de Systeeminstellingen beschikbaar en bewerking van de volgorde op Diensten voor dit bestandstype op het tabblad Inbedding.
Tabel 4.1. Enkele beschikbare KParts-plug-ins
| MIME-type | KParts-plug-in |
| Markdown-tekst | KMarkdownWebViewPart of OkularPart |
| SVG-afbeelding | SVGPart |
| Qt™ UI bestanden | KUIViewerPart |
| DOT-graph bestanden | KGraphviewerPart |
De knoppen bovenaan het voorbeeldvenster biedt deze acties:
Het voorbeeld vergrendelen van een gegeven document. Deze optie selecteren verzekert dat als de focus wordt omgeschakeld naar het beeld van een ander document in hetzelfde Kate venster, dat het voorbeeld niet volgt naar dat document, maar het voorbeeld van dit document blijft tonen.
Schakelt in of uit het bijwerken van het voorbeeld van de huidige inhoud van het document
Werk handmatig het voorbeeld van de huidige inhoud van het document bij
Een afrolmenu met acties uit de KParts-plug-in
- → (Ctrl+Tab), → (Ctrl+Shift+Tab)
Opent een lijst met de laatst bekeken documenten:
Houd de toets Ctrl ingedrukt en gebruik de toets Tab om voorwaarts door de lijst te gaan. Druk ook de toets Shift in om de richting om te keren.
Houd de sneltoets Ctrl+Tab ingedrukt en u kunt de toetsen Up, Down, Home of End gebruiken om in de lijst te navigeren. Vervolgens drukken op een tekentoets zal u door alle items laten lopen waarvan het eerste teken in the lijst overeenkomt. Als u de sneltoetsen loslaat zal de weergave springen naar het geselecteerde document in de lijst.
In de bestandssysteembrowser kunt u de inhoud van mappen bekijken en bestanden uit een geopende map in het huidige frame openen.
De Bestandssysteembrowser heeft, van boven naar beneden, de volgende elementen:
- Een werkbalk
Deze bevat de standaard navigatieknoppen:
TerugWanneer u op deze knop klikt, wordt het commando cd naar de vorige map in de geschiedenis uitgevoerd. Deze knop is niet beschikbaar als er geen vorig item is.
VooruitWanneer u op deze knop klikt, wordt het commando cd naar de volgende map in de geschiedenis uitgevoerd. Deze knop is niet beschikbaar als er geen volgend item is.
BladwijzersOpent een submenu om bladwijzers te bewerken en toe te voegen en een nieuwe map voor bladwijzers.
Map van huidig documentWanneer u op deze knop klikt, wordt het commando cd naar de map waarin het huidige document zich bevindt (indien mogelijk) uitgevoerd. Deze knop is niet beschikbaar als het document een nieuw, onopgeslagen bestand is of als de map waarin het bestand zich bevindt niet bepaald kan worden.
OptiesAlleen bestandsnamen tonen
Naam, Datum en Grootte van de bestanden tonen.
Zoals Beknopte weergave, maar mappen kunnen worden uitgevouwen om hun inhoud te bekijken.
Dit stelt u ook in staat om mappen uit te vouwen, maar toont extra kolommen beschikbaar in Gedetailleerde weergave.
Toont bestanden die normaal verborgen zijn door uw operating system.
Wanneer deze optie is ingeschakeld zal de bestandssysteembrowser automatisch een cd uitvoeren naar de map van het document dat nu geopend is in het bewerkingsgebied elke keer als het wijzigt.
- Een locatie-item
Dit toont een broodkruimelnavigatie naar de huidige geopende map, zoals in Dolphin. U kunt op elke map klikken om het door te bladeren of klik op een van de pijlen, links van de map, om een onderliggende map te selecteren. U kunt ook uit Plaatsen kiezen door op het meest linkse pictogram in de broodkruimelnavigatie te klikken, die een pictogram toont die uw huidige Plaats toont.
U kunt ook rechts van de broodkruimels klikken on ze te wijzigen waar u het pad naar een map, die u wilt zien, kunt intypen. Het URL-invoerveld houdt een lijst bij van eerder ingetypte paden. Klik op de pijlknop rechts van het invoerveld om een pad te kiezen.
Tip
Het URL-invoerveld maakt gebruik van automatische aanvulling. De methode kan ingesteld worden in het contextmenu dat verschijnt wanneer u met de op de tekst klikt.
- Een mapweergave
Dit is een standaard mapweergave van KDE.
- Een filterinvoerveld
In het filterinvoerveld kunt u het filter voor de bestanden die u wilt zien intypen. Het filter gebruikt de standaard jokertekens; items moeten worden gescheiden door een spatie. Voorbeeld:
*.cpp *.h *.mocOm alle bestanden te kunnen zien, typt u een enkele asterisk
*in.Het filterinvoerveld houdt een lijst bij van de laatste tien filters. Klik op de pijlknop rechts van het invoerveld om het gewenste filter te kiezen. U kunt het filter uitschakelen door op de knop te klikken links van de pijlknop voor automatisch aanvullen.
Deze plugin kan worden geconfigureerd op de pagina Bestandssysteembrowser van instellingen van Kate.
- Werkbalk
Stel deze knoppen in op de werkbalk van de Bestandssysteembrowser door diegene, die u wil inschakelen, te verplaatsen naar de lijst Geselecteerde acties en sorteer ze met de pijlknoppen naast de lijst.
De documentenlijst toont een lijst met alle bestanden die momenteel in Kate geopend zijn. Gewijzigde bestanden worden gemarkeerd met een diskette-pictogram links van de naam om de status aan te geven.
Bovenaan deze lijst met documenten is een werkbalk met de volgende knoppen:
Nieuw document aanmaken |
Open een bestaand document |
Vorig document |
Volgend document |
Het huidige document opslaan |
Sla het huidige document op onder een nieuwe naam |
Standaard wordt de documentenlijst in getoond, die de mappenstructuur rond alle nu geopende documenten toont. Ook is de beschikbaar, die een eenvoudige lijst met alle open documenten toont. U kunt van modus wisselen door rechts te klikken op de lijst en een keuze te maken uit het menu menu.
Als er twee of meer bestanden met dezelfde naam (in verschillende mappen) geopend zijn in , wordt de naam van het tweede bestand aangeduid met “(2)”, enzovoort. In de tekstballon wordt de volledige naam met het pad vermeld, zodat u het gewenste bestand kunt vinden.
Om een document in het momenteel actieve frame weer te geven, klikt u op de naam in de bestandenlijst.
Het contextmenu heeft enige gemeenschappelijke acties uit het menu .
Daarnaast zijn er bestandsbeheerderacties om het bestand te hernoemen of te verwijderen. Met kunt u het volledige pad van het document naar het klembord kopiëren.
U kunt de lijst op verschillende manieren sorteren door in de lijst rechts te klikken en in het contextmenu te kiezen. U kunt kiezen uit de volgende opties:
Sorteert de documenten alfabetisch op naam
Sorteert de documenten alfabetisch op het pad ernaar.
Sorteert de documenten in de volgorde waarin ze geopend zijn.
De documentenlijst zal standaard de geschiedenis bijhouden door de bestanden die het laatst geopend zijn een achtergrondkleur te geven. Als het document bewerkt is, wordt er een extra kleur aan toegevoegd. Het document dat het laatst geopend is heeft de sterkste achtergrondkleur, zodat u gemakkelijk de documenten waar u aan werkt kun vinden. Deze functie kan uitgeschakeld worden doorDocumenten in het dialoogvenster "Instellingen".
De standaardlocatie van de documentenlijst in het venster van Kate is links van het bewerker-gedeelte.
- Achtergrondschaduw
Deze sectie stelt u in staat om de visualisatie van de achtergrondschaduwvan uw recente activiteit in of uit te schakelen en te kiezen welke kleuren te gebruiken indien ingeschakeld.
- Sorteren op
Stelt in hoe u de lijst met documenten wilt hebben gesorteerd. Dit kan ook gezet worden met het menu in de lijst met documenten.
- Weergavemodus
Dit biedt twee opties die invloed hebben op de weergave van het hulpmiddel voor documenten. De optie Boomstructuurweergave zal de documenten tonen in een boomstructuur onder de mappen waarin ze zich bevinden, terwijl de optie Lijstweergave een vlakke lijst met documenten laat zien.
- Volledig pad tonen
Wanneer Boomstructuurweergave en deze optie zijn ingeschakeld, zullen de mappen in het hulpmiddel voor documentweergave getoond worden met het volledige pad in het bestandssysteem naar de map naast de naam van de map. Het heeft geen effect in de Lijstweergave.
- Werkbalk tonen
Wanneer broomstructuurweergave en deze optie zijn ingeschakeld zal een werkbalk getoond worden met acties zoals boven de lijst met documenten. Deze optie deactiveren, als de werkbalk verborgen moet zijn.
- Sluitknop tonen
Wanneer deze optie ingeschakeld is, zal Kate een sluitknop voor geopende documenten bij erboven zweven tonen.
De GDB-plug-in van Kate levert een eenvoudige frontend voor elke debugger die het Debugger Adapter Protocol ondersteunt. Speciaal, die de GNU Project Debugger omvat, aka GDB, als hier aangegeven.
Belangrijk
Eerdere ervaring met GDB is zeer aanbevolen. Voor meer informatie over het gebruik van GDB bezoekt u de website van GDB.
U kunt de GDB-plug-in inschakelen in de sectie met plug-ins in de instellingen van Kate.
Tip
Als u compileert met gcc/g++ dan zou u het argument op de opdrachtregel -ggdb willen gebruiken.
Nadat deze voorbereidingen zijn gedaan, opent u het bestand met de broncode in Kate, selecteer het "debuggerprofiel", voer het pad naar het uitvoerbare programma in in het tabblad Instellingen van de hulpmiddelenweergave Debugweergave en selecteert u → uit het menu om te beginnen.
Het "debuggerprofiel" selecteert de te gebruiken DAP-server (bijv. GDB) en de manier waarop deze server te starten. Een typisch geval is om de server een proces te laten starten zoals boven gespecificeerd, maar het kan ook aankoppelen aan een actief proces (in welk geval een PID gespecificeerd moet worden in plaats van een uitvoerbaar programma). Er kunnen ook andere modi zijn die specifiek zijn voor de taal en de DAP-server. Zie ook later voor extra achtergrond en configuratiedetails hierover.
Al deze opties zijn beschikbaar in de menu's van Kate en er zijn er ook veel beschikbaar op de werkbalk Debug.
- → →
Toont een hulpmiddelenweergave met GDB-uitvoer, de gebruikte opdrachtregel van GDB en andere instellingen.
- → →
Toont een lijst met alle nu geladen variabelen en hun waarden en een GDB backtrace.
- →
Een submenu die een lijst met doelen bevat (uitvoerbare programma's).
- →
Start GDB met een doel.
- →
Stopt GDB.
- →
Start GDB opnieuw.
- →
Een breekpunt op de huidige cursorpositie instellen.
- →
Het huidige statement uitvoeren (functie-aanroep zal worden gedebugd).
- →
Het huidige statement uitvoeren (functie-aanroep zal niet worden gedebugd).
- →
Uitvoering hernemen totdat het programma in uitvoering zich beëindigd.
- →
Programcounter (PC) verplaatsen (volgende uitvoeren).
- →
Voert het programma uit totdat het de huidige cursorpositie bereikt.
- →
Negeert elk breekpunt en voert het programma uit totdat het zich beëindigd (al of niet met succes).
- →
Drukt de waarde van de variabele af waar de cursor nu naar wijst.
- → →
De debug-werkbalk tonen.
Het hulpmiddel Debugweergave heeft een aantal tabbladen:
- GDB-uitvoer
Bevat uitvoer van GDB en een GDB-commandoregel.
- Instellingen
- Uitvoerbaar programma
Pad naar het doel (uitvoerbaar programma) voor debugging.
- Werkmap
De huidige werkmap geleverd aan het doel.
- Argumenten
Argumenten aan het programma gegeven.
- Focus behouden
De focus op de GDB-commandoregel houden.
- IO omleiden
Opent een nieuw tabblad IO in de Debugweergave waar u uitvoer kunt zien en invoer kunt leveren aan het programma in uitvoering.
- IO
Bevat een gebied die uitvoer weergeeft van het in uitvoering zijnde programma en een commandoregel waar u invoer aan het programma kunt leveren.
Het hulpmiddel Aanroepstapel bevat een lijst van de geformatteerde backtrace komende uit GDB.
Het hulpmiddel voor de weergave van Lokale variabelen bevat een lijst met alle nu geladen variabelen uit het programma en de bijbehorende waarden.
Speciale dank gaat naar de deelnemer van Google Code-In 2011 Martin Gergov voor het schrijven van veel van deze sectie.
De configuratiepagina van de plugin definieert de "debuggerprofielen" die geselecteerd kunnen worden. De standaard configuratie (JSON) is daar getoond en daar kan een door de gebruiker geleverde van gelijke vorm overheen gelegd worden. Een voorbeeld is als volgt:
{
"dap": {
"debugpy": {
"url": "https://github.com/microsoft/debugpy",
"run": {
"command": ["python", "-m", "debugpy", "--listen", "${#run.port}", "--wait-for-client"],
"port": 0,
"supportsSourceRequest": false
},
"configurations": {
"launch": {
"commandArgs": ["${file}", "${args|list}"],
"request": {
"command": "attach",
"stopOnEntry": true,
"redirectOutput": true
}
},
"attach": {
"commandArgs": ["--pid", "${pid}"],
"request": {
"command": "attach",
"stopOnEntry": true,
"redirectOutput": true
}
},
},
"gdb": {
"url": "gdb",
"run": {
"command": [
"gdb",
"-i",
"dap"
],
"redirectStderr": true,
"redirectStdout": true,
"supportsSourceRequest": true
},
"configurations": {
"launch (debug)": {
"request": {
"command": "launch",
"mode": "debug",
"program": "${file}",
"args": "${args|list}",
"cwd": "${workdir}"
}
}
}
}
}
}
Elk van de items in de configuraties wordt gecombineerd met de run gegevens en vormt een "profiel". Dit specificeert de DAP-server om samen met zijn argumenten te starten, waar de laatsten specifiek zijn voor het profiel (commandArgs). De andere delen specificeren het DAP-protocolverzoek (starten of aankoppelen), samen met DAP-specifieke extensies.
Natuurlijk zou de gespecificeerde server geïnstalleerd moeten zijn (en typisch ook in PATH voor juiste uitvoering).
Verschillende stadia van overschrijven/mengen worden toegepast; gebruikersconfiguratie (geladen uit bestand) overschrijft (interne) standaard configuratie en het "dap" item in de .kateproject projectconfiguratie overschrijft op zijn beurt.
Meer achtergrond en specifieke zaken zijn te vinden in de onderstaande sectie LSP Client uitvoeromgeving. Maar het is voldoende om hier te zeggen dat het nodig kan zijn om het debugproces (en de DAP-server) in een "speciale omgeving" uit te voeren, ofwel hoofdzakelijk gedefinieerd door omgevingsvariabelen of een container (die de vereiste afhankelijkheden en omstandigheden voor juiste uitvoering leveren).
Gelijk als in het voorbeeld in de gerefereerde sectie, kan de volgende configuratie geleverd zijn in een .kateproject.
{
// dit kan ook een array van objecten zijn
"exec": {
"hostname": "foobar"
// het commando zou ook een array van tekenreeksen kunnen zijn
"prefix": "podman exec -i foobarcontainer",
"mapRemoteRoot": true,
"pathMappings": [
// elk van de volgende vormen zijn mogelijk
// een meer auto-magisch alternatief bestaat ook, zie sectie waarnaar verwezen wordt
[ "/dir/on/host", "/mounted/in/container" ]
{ "localRoot": "/local/dir", "remoteRoot": "/remote/dir" }
]
},
"dap": {
"debugpy": {
"run": {
// in deze sectie, is het op alle configuraties van toepassing
// dit zal overeen komen/meedoen met het bovenstaande object
"exec": { "hostname": "foobar" },
// als server er mee is verbonden,
// specificeer expliciet de poort (die geschikt is gepubliceerd/doorgestuurd)
"port": 5678,
// de server kan dan ook meer dan localhost moeten accepteren
"host": "0.0.0.0"
}
}
}
}
De sectie waarnaar gerefereerd zou geconsulteerd moeten worden voor details, maar in essentie zal het voorvoegsel voorgevoegd worden alvorens de opdrachtregel van de DAP-server elders wordt gespecificeerd. Het effect is dat de server draait in de gespecificeerde container en daarna op zijn beurt ook het gestarte proces. De pathMapping zorgt voor transformatie van bestandspaden tussen weergave van de bewerker en de weergave van de DAP-server (container), bijv. wanneer gewerkt wordt met instelling van breakpoints of behandeling van gerapporteerde backtraces. Merk op dat zulke koppeling optioneel is en al dan niet nuttig kan zijn. Bij werken met C/C++ code die op de "host" is gecompileerd, refereert de symboleninformatie van bronbestanden op de host die helemaal niet bestaat in de andere omgeving. Echter, in andere gescripte (bijv. python) omstandigheden, worden actuele runtime bestanden gerefereerd (op de andere omgeving).
Het volgende moet duidelijk in gedachten gehouden worden.
De DAP-server moet aanwezig zijn in de omgeving/container, die geconfigureerd moet zijn om de debuggerbewerking juist te ondersteunen (dus, indien nodig, geprivilegieerd, mogelijkheden).
Communicatie tussen bewerker en DAP moet mogelijk zijn. In het geval van een container zou de laatste ofwel hostnetwerking moeten gebruiken of een geschikte gekoppelde/gepubliceerde poort samen met een bijbehorend configuratiefragment zoals in bovenstaand voorbeeld (omdat een automatisch geselecteerde poort als poort 0 niet door komt).
Een gespecificeerd uitvoerbaar bestand/PID zou in het perspectief van de "container" , evenals elk argument (debuggee uitvoerbaar bestand).
Ook, als in het LSP-geval, enige omgevingsvariabelen zijn gezet; KATE_EXEC_PLUGIN is gezet op dap, KATE_EXEC_SERVER is gezet op het debugger-/taaltype (bijv. python) en KATE_EXEC_PROFILE is gezet op het configuratie-item (bijv. launch).
Her basis idee van de projectplug-in is om een gestructureerde lijst met bestanden te hebben die bij het project behoren met de volgende eigenschappen:
Bied een gestructureerde weergave van de bestanden
Maak het gemakkelijk en zeer snel om projecten te openen en naar om te schakelen
Zoeken en vervangen voor een project ondersteunen
Eenvoudige automatische aanvulling bieden
Het eenvoudig maken om snel bestanden te openen in het project
Ondersteuning voor het bouwen van het project
Nadat de project-plug-in is geladen in de instellingenpagina van Kate, open dan een bestand in een project en er verschijnt een zijbalk met een lijst van alle projecten evenals de projectbestanden als volgt:
Zoals u kunt zien is het nu actieve project “Kate” en zijn inhoud wordt getoond in de boomstructuur. Klikken op bestanden in de boomstructuur opent het bestand in de bewerker. Verder wordt er een contextmenu getoond waarmee u bestanden kunt openen met andere toepassingen, zoals een .ui bestand met Qt Designer.
U kunt de items filteren door delen van de bestandsnaam waarnaar u zoekt in de zoekbalk aan de onderkant van de lijst in te typen.
Het idee is dat u nooit een project handmatig hoeft te openen, dit wordt zelfs helemaal niet ondersteund. Dus, wat gebeurt er als u een bestand opent, dan scant de project-plug-in snel de map en zijn bovenliggende mappen naar een .kateproject bestand. Indien gevonden, zal het project automatisch worden geladen.
Verder zal, als u een ander document in Kate opent, dat behoort bij een ander project, de project-plug-in automatisch het huidige project omschakelen. Dus is intuïtief altijd het juiste project actief. Natuurlijk kunt u ook het nu actieve project omschakelen met de keuzelijst.
Kate heeft een plug-in voor zoeken vervangen die verschijnt in de onderste zijbalk. Als een project is geladen, open dan de zijbalk zoeken en vervangen en schakel om naar de modus om te zoeken en te vervangen in het huidige project:
Met de kennis van alle bestanden behorende tot een project, biedt de project-plug-in eenvoudige mogelijkheden voor automatisch aanvullen gebaseerd op CTags. Als een project initieel is geopend, ontleed CTags alle projectbestanden in een achtergrond thread en slaat de CTags-informatie op in /tmp. Dit bestand wordt daarna gebruikt om de pop-up voor automatische aanvulling popup in Kate te bevolken.
In tegenstelling hiermee, zonder deze automatische aanvulling, is Kate alleen in staat om items voor automatische aanvulling gebaseerd op de woorden in het huidige bestand. De automatische aanvulling geleverd door de project-plug-in is veel krachtiger.
Als CTags ontbreken zal een passieve pop-up u hierover waarschuwen. Het is ook goed op te merken dat het CTags bestand in /tmp gewist wordt wanneer Kate eindigt, de plug-in vervuilt dus geen enkele map met ongewenste bestanden.
Een andere functie is het hebben van ondersteuning voor de Bouw-plug-in, zodat het automatisch juist is geconfigureerd.
De project-plug-in heeft een functie automatisch laden. U kunt de lijst met bestanden in uit het versiecontrolesysteem. Op dit moment moet automatisch laden voor de respectievelijke versiecontrolesysteem worden ingeschakeld in de instellingen (standaard ingeschakeld):
U hoeft alleen maar een bestand .kateproject in de hoofdmap van het project aan te maken. Bijvoorbeeld het .kateproject bestand van “Kate” ziet er uit zoals dit:
{
"name": "Kate",
"files": [
{
"git": 1
}
]
}
De inhoud van het bestand is in de JSON-syntaxis geschreven. De projectnaam is “Kate” en de bestanden erin zouden uit Git gelezen moeten worden.
Ook wordt in plaats van git subversion ondersteund via svn en mercurial via hg. Als u geen bestanden wilt lezen uit een versiecontrolesysteem, dan kunt u kate aanroepen vanaf de opdrachtregel als:
kate /pad/naar/map/
of kunt u het vertellen om bestanden recursief te laden uit mappen als volgt:
{
"name": "Kate",
"files": [
{
"directory": "kate",
"filters": [
"*.cpp",
"*.h",
"*.ui",
"CMakeLists.txt",
"Find*.cmake"
],
"recursive": 1,
"hidden": 1
}
],
"exclude_patterns" : [
"^build/.*"
]
}
Submappen en filters definiëren hier wat onderdeel is van het project. U kunt ook controle op versie en bestanden gebaseerd op filters mengen. Verborgen bestanden zullen niet opgehaald worden als de optie "hidden" 0 is. "exclude_patterns" is een lijst met regex patronen die gebruikt kunnen worden om mappen en bestanden uit te sluiten van de projectboom. In dit voorbeeld zullen alle bestanden en mappen in een map build in de hoofdmap uitgesloten worden.
Als u ondersteuning voor bouwen wilt toevoegen, dan kunt u een .kateproject schrijven zoals dit:
{
"name": "Kate",
"files": [
{
"git": 1
}
],
"build": {
"directory": "build",
"build": "make all",
"clean": "make clean",
"install": "make install",
"targets": [
{
"name": "all",
"build_cmd": "ninja"
"run_cmd": "./bin/kate"
},
{
"name": "kate",
"build_cmd": "ninja kate-bin"
}
]
}
}
De bovenstaand gespecificeerde doelen zullen daarna verschijnen in de Bouwplug-in onder "Projectplug-in doelen". Als het "doelen" array is gespecificeerd dan worden "build", "clean" en "install" genegeerd. Elk element in het array specificeert een doel. "name" is de naam van het doel, "build_cmd" zal gebruikt worden om het doel te bouwen, "run_cmd" zal gebruikt worden om het doel uit te voeren. Het belangrijkste van alles is "directory", dit is waar de commando's uitgevoerd zullen worden.
In het geval dat u een bestand .kateproject hebt gevolgd door een versiecontrolesysteem, maar u wilt de configuratie voor een specifieke werkruimte aanpassen, dan kunt u die wijzigingen opslaan in een apart bestand genaamd .kateproject.local. De inhoud van dit bestand gaat boven die in .kateproject.
Met → (Alt+1) kunt u de weergave van het Huidige Project onderaan het bewerkingsvenster openen met vier tabbladen:
Een Terminalemulator starten in de hoofdmap van het project.
Tekens invoeren in de zoekbalk zal het zoeken starten en overeenkomende namen van van functies, klassen, symbolen etc. tonen samen met soort, bestandsnaam en regelnummer.
Selecteer een item in de lijst om naar de bijbehorende regel in het broncodebestand te springen.
Klik op Analyse starten om een statische analyse van broncode voor C en C++ met cppcheck uit te voeren en om een rapport te maken met bestandsnaam, regelnummer, ernst (stijl, waarschuwing etc.) en de gevonden problemen.
Selecteer een item in de lijst om naar de bijbehorende regel in het broncodebestand te springen.
Ingevoerde tekst in dit tabblad zal opgeslagen worden in het bestand
.kateproject.notes.
Het menu stelt u in staat om te schakelen tussen nu open projecten. Het wordt getoond door de plug-in Project.
De LSP-clientplug-in biedt vele talenfuncties zoals codeaanvulling, codenavigatie of het zoeken naar verwijzingen gebaseerd op het Talenserverprotocol.
Als u eenmaal de LSP-client in de plug-inpagina hebt ingeschakeld, zal een nieuwe pagina, genaamd LSP-client, verschijnen in de instellingendialoog van Kate.
Indien van toepassing, een overeenkomstig LSP-commando wordt ook genoemd in de onderstaande uitleg, waarvan de documentatie dan misschien extra achtergrond en interpretatie biedt, hoewel het kan variëren afhankelijk van de actuele taal. De uitdrukking 'huidig symbool' verwijst naar het symbool overeenkomend met de huidige cursorpositie, zoals bepaalt door de implementatie van taal en server.
- →
[textDocument/definition] Ga naar huidige symbooldefinitie.
- →
[textDocument/declaration] Ga naar huidige symbooldefinitie.
- →
[textDocument/typeDefinition] Ga naar huidige symbooltypedefinitie.
- →
[textDocument/references] Zoek naar referenties naar huidige symbool.
- →
[textDocument/implementation] implementaties van huidige symbool zoeken.
- →
[textDocument/documentHighlight] Huidige symboolreferenties accentueren in huidige document.
- →
[textDocument/hover] Boven informatie zweven voor huidige symbool.
- →
[textDocument/formatting] [textDocument/rangeFormatting] Formatteer het huidige document of huidige selectie.
- →
[textDocument/rename] Huidige symbool hernoemen.
- →
[textDocument/codeAction, workspace/executeCommand] Berekent en past een snelle reparatie toe voor een diagnose op de huidige positie (of regel).
- →
Documentatie voor een geselecteerd item tonen in de lijst met voltooingen.
- →
Ook hulp bij handtekening in de lijst voor aanvullen tonen.
- →
Verzoek om een declaratie van een symbool in te voegen bij aanvragen van een referentie.
- →
Automatisch een paar haakjes toevoegen na aanvullen van een functie.
- →
Informatie tonen bij er boven zweven wanneer (muiscursor) er boven wordt gezweefd. Onafhankelijk van deze instelling kan het verzoek altijd handmatig geïnitieerd worden.
- →
[document/onTypeFormatting] Formatteert delen van het document tijdens typen van bepaalde actietekens. Dit kan van toepassing zijn bij inspringen bij een nieuwe regel of zoals anders bepaald door de LSP-server. Merk op dat inspringscripts van bewerkers hetzelfde proberen te doen (afhankelijk van de modus) en dus kan het niet aan te raden zijn om beiden tegelijk ingeschakeld te hebben.
- →
Gedeelten van bewerking van document verzenden om de server bij te werken in plaats van de gehele documenttekst (indien ondersteund).
- →
Een voorbijgaande visuele pijl leveren na uitvoeren van een ga-naar naar een locatie (van definitie, declaratie, etc.).
- →
[textDocument/publishDiagnostics] Diagnostische meldingen verwerken en tonen verzonden door de server.
- →
Accentueringen van tekst toevoegen voor reeksen aangegeven in diagnostiek.
- →
Documentmarkeringen toevoegen voor regels aangegeven in diagnostiek.
- →
Naar het tabblad diagnostiek omschakelen in de plug-in hulpmiddelenweergave.
- →
Alle niet-diagnostische tabbladen (bijv. referenties) in plug-in weergavehulpmiddel.
- →
LSP-server van huidige document herstarten.
- →
Alle LSP-servers stoppen die daarna, indien nodig, (opnieuw) zullen worden gestart.
LSP Client kan u helpen naar elk symbool te springen in uw project of huidige bestand. Om naar een symbool in het bestand te springen, gebruik de hulpmiddelweergave "LSP Client Symbooloutline" op de rechter rand van kate. Deze hulpmiddelweergave geeft een lijst met alle symbolen die zijn gevonden door de server in het huidige document.
Standaard worden de symbolen gesorteerd op hun voorkomen in het document maar u kunt het sorteren wijzigen naar alfabetisch. Om dat te doen, klik rechts in de hulpmiddelweergave en activeer "Alfabetisch sorteren".
De hulpmiddelweergave toont de symbolen standaard in modus boomstructuur, u kunt dat wijzigen naar een lijst met het contextmenu.
Om naar een symbool in uw project te springen, kunt u de dialoog ga naar symbool openen met Ctrl+Alt+p. De dialoog is leeg wanneer het wordt geopend maar zodra u iets typt zal de dialoog starten en u overeenkomende symbolen tonen. De kwaliteit van overeenkomsten evenals filtermogelijkheden hangen af van de server die u gebruikt. Bijvoorbeeld, clangd ondersteunt vage filtering maar een andere server misschien niet.
Commando voor omschakelen van bronkop van clangd wordt ondersteund. Om bronkop om te schakelen in een C of C++ project gebruik ofwel de optie "Bronkop omschakelen" uit het contextmenu of de sneltoets F12.
U kunt snel naar een symbool springen door uw muis op het symbool te plaatsen en daarna op Ctrl + linker muisknop te drukken.
De configuratiepagina van de plug-in biedt meestal blijvende configuratie van sommige van de bovenstaande menu-items. Er is echter één extra item om het serverconfiguratiebestand te specificeren. Dit is een JSON-bestand dat gebruikt kan worden om de LSP-server te specificeren om te starten (en dan ermee te communiceren over stdin/stdout). Voor het gemak is er enige standaard configuratie meegenomen, die geïnspecteerd kan worden in de configuratiepagina van de plugin. Om te helpen in de onderstaande uitleg wordt een voorbeeld van die configuratie hier gegeven:
{
"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.*$"
},
"javascript": {
"command": ["typescript-language-server", "--stdio"],
"rootIndicationFileNames": ["package.json", "package-lock.json"],
"url": "https://github.com/theia-ide/typescript-language-server",
"highlightingModeRegex": "^JavaScript.*$",
"documentLanguageId": false
},
"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"],
"path": ["%{ENV:HOME}/.cargo/bin", "%{ENV:USERPROFILE}/.cargo/bin"],
"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.*$"
}
}
}
Merk op dat elk "commando" een array of een tekenreeks kan zijn (in welk geval het gesplitst wordt in een array). Ook een item op het hoogste niveau "global" (volgens op "server") wordt ook meegenomen (zie verder onderstaand). Het gespecificeerde binaire bestand wordt gezocht op de gebruikelijke manier, bijv. met PATH. Als het geïnstalleerd is in een aangepaste locatie, zal de laatste mogelijk uitgebreid moeten worden. Of anders, een (symbolische) koppeling of omslagscript kan gebruikt worden in een locatie die binnen het gebruikelijke PATH valt. Zoals bovenstaand geïllustreerd, kan ook een "pad" gespecificeerd worden waarin gezocht zal worden na de standaard locaties.
Alle items in "commando", "root" en "pad" zijn onderworpen aan expansie van variabelen.
De "highlightingModeRegex" wordt gebruikt om de modus accentuering overeen te laten komen zoals gebruikt door Kate naar de taal-id van de server. Als geen reguliere expressie is gegeven, wordt de taal-id zelf gebruikt. Als een "documentLanguageId" item is gezet op false, dan wordt geen taal-id aan de server geleverd bij openen van het document. Dit kan betere resultaten geven voor sommige servers die meer precies zijn in bepalen van het type document dan dat te doen op basis van een kate-modus.
Uit het bovenstaande is de boodschap waarschijnlijk helder. Bovendien kan elk item-object van de server ook een "initializationOptions" item hebben, die gezamenlijk wordt doorgegeven aan de server als onderdeel van de 'initialisatie' methode. Indien aanwezig wordt een item "instellingen" doorgegeven aan de server doormiddel van de melding 'workspace/didChangeConfiguration'. Of "completionTriggerCharacters" of "signatureTriggerCharacters" mag gespecificeerd worden als een JSON-object met leden avn de tekenreeks "exclude" en/of "include". Deze zullen gebruikt worden om respectievelijk enige teken uit te sluiten of toe te voegen aan de respectievelijk gezette trigger zoals geleverd door de server.
Verschillende stadia van overschrijven/mengen worden toegepast;
gebruikersconfiguratie (geladen uit bestand) overschrijft de (interne) standaard configuratie
"lspclient" item in
.kateprojectprojectconfiguratie overschrijft het bovenstaandehet resulterende "globale" item wordt gebruikt om aan te vullen (niet overschrijven) elk server-item
Eén exemplaar van de server wordt gebruikt per combinatie (root, servertype). Als "root" is gespecificeerd als een absoluut pad, dan wordt het gebruikt zoals-het-is, anders is het relatief tot de “projectBase” (zoals bepaald door de Projectplug-in), indien van toepassing of anders relatief tot de map van de documentatie. Indien niet gespecificeerd en "rootIndicationFileNames" is een array als bestandsnamen, dan wordt een oudermap van het huidige document die zo'n bestand bevat geselecteerd. Alternatief, als "root" niet gespecificeerd is en "rootIndicationFilePatterns" is een array van bestandspatronen, dan wordt een oudermap van het huidige document overeenkomend met het bestandsprofiel geselecteerd. Als een laatste terugval, wordt de thuismap geselecteerd als "root". Voor elk document bepaalt dan de resulterende "root" wel of niet een apart exemplaar nodig heeft. Zo ja, de "root" wordt doorgegeven als rootUri/rootPath.
In het algemeen wordt aanbevolen om de root niet te specificeren, omdat het niet zo belangrijk is voor een server (kan voor u anders zijn). Minder exemplaren van de server zijn natuurlijk efficiënter en ze hebben ook een 'bredere' blik dan de blik van vele gescheiden exemplaren.
Zoals bovenstaand genoemd, zijn verschillende items onderwerp van expansie van variabelen. Een geschikte toepassing ervan gecombineerd met een "omslagscript" biedt het aanpassen aan een groot aantal omstandigheden. Neem, bijvoorbeeld, een ontwikkeling van een python-scenario dat bestaat uit meerdere projecten (bijv. git repos), elk met zijn eigen virtuele omgeving. Met de standaard configuratie is de python taalserver niet bekend met de virtuele omgeving. Dat kan echter verholpen worden met de volgende benadering. Eerst, het volgende fragment kan ingevoerd worden in "User Server Settings" van de LSPClient-plug-in:
{
"servers":
{
"python":
{
"command": ["pylsp_in_env", "%{Project:NativePath}"],
"root": "."
}
}
}
Het bovenstaande root-item is relatief ten opzichte van de projectmap en verzekert dat een aparte taalserver gestart wordt voor elk project, wat nodig is in dit geval omdat elk een aparte virtuele omgeving heeft.
pylsp_in_env is een klein "omslagscript" dat geplaatst zou moeten worden in PATH met de volgende (aan-te-passen) inhoud:
#!/bin/bash cd $1 # draai de server (python-lsp-server) in de virtuele omgeving # (d.w.z. met instellen van virtuele omgevingsvariabelen) # dus gebruik source met de virtuele omgekeerd source XYZ # lengte van de server of argumenten kunnen variëren exec myserver
Dit is slechts een voorbeeld van een algemener patroon die een beetje comfortabeler behandeld kan worden zoals uitgelegd in de onderstaande sectie Uitvoeromgeving.
Elke specifieke LSP-server heeft zijn eigen manier van aanpassen en kan taal/hulpmiddel specifieke manieren voor configuratie gebruiken, bijv. tox.ini (o.a. voor python), .clang-format voor C++ stijl formaat. Zo'n configuratie kan dan ook gebruikt worden door andere (niet-LSP) hulpmiddelen (zoals dan tox of clang-format). Sommige LSP-servers laden bovendien ook configuratie uit eigen bestanden (bijv. .ccls). Eigen server-configuratie kan verder ook doorgegeven worden via LSP (protocol), zie de eerder genoemde "initializationOptions" en "instellingen" items in de serverconfiguratie.
Omdat er verschillende niveaus van overschrijven/samenvoegen worden toegepast, past het volgende voorbeeld van gebruiker gespecificeerde client-configuratie een configuratie van een python-language-server.
{
"servers": {
"python": {
"settings": {
"pyls": {
"plugins": {
"pylint": {
"enable": true
}
}
}
}
}
}
}
Helaas is de LSP-serverconfiguratie/aanpassing vaak niet zo goed gedocumenteerd, op manieren die alleen bekijken van de broncode de benaderingen toont en de beschikbare set van configuratieopties. Het bovenstaande voorbeeld van een server ondersteunt zeer veel meer opties in "instellingen". Zie documentation van een andere LSP-client voor verschillende andere voorbeelden van een taalserver and overeenkomende instellingen, die gemakkelijk en eenvoudig getransformeerd kunnen worden naar de JSON-configuratie die hier is gebruikt en bovenstaand besproken.
U kunt "formaat bij opslaan" uit LSP-instellingen in configuratiedialooginschakelen.
Het kan zijn dat diagnostiek gerapporteerd wordt die niet erg nuttig is. Dit kan tamelijk vervelend zijn, speciaal als er veel zijn (vaak van dezelfde soort). In sommige gevallen kan dit aangepast zijn op een specifieke manier per taal(server). Het clangd configuratiemechanisme biedt bijvoorbeeld aanpassen van sommige diagnostische aspecten. In algemeen, echter, kan het niet altijd duidelijk zijn hoe dat zo te doen of het kan zelfs helemaal niet mogelijk zijn op de gewenste manier vanwege beperkingen op de server of een bug.
Op zich ondersteunt de plug-in onderdrukking van diagnostiek gelijkend op bijv. onderdrukkingen in valgrind. De meest fijn afgestemde configuratie kan geleverd worden in een "onderdrukkingen" sleutel in de (samengevoegde) JSON configuratie.
{
"servers": {
"c": {
"suppressions": {
"rulename": ["filename", "foo"],
"clang_pointer": ["", "clang-tidy", "clear_pointer"],
}
}
}
}
Elke (geldige) regel heeft een willekeurige naam en wordt gedefinieerd door een array met lengte 2 of 3 die een reguliere expressie levert om overeen te komen tegen de (volledige) bestandsnaam, een reguliere expressie om overeen te komen met de diagnostische tekst en een optionele reguliere expressie overeenkomend met de (broncodereeks) tekst waar het diagnostische bericht op van toepassing is.
Naast de bovenstaande fijn afgestemde configuratie, biedt het contextmenu in het tabblad diagnostische meldingen ook ondersteuning voor toevoegen/verwijderen van onderdrukkingen die exact overeenkomen met een bepaalde diagnostische tekst, ofwel globaal (elk bestand) of lokaal (het specifieke bestand in kwestie). Deze onderdrukkingen worden opgeslagen in en geladen uit sessieconfiguraties.
Het is een ding om te beschrijven hoe een (aangepaste) LSP-server voor een specifieke taal te configureren, het is iets anders om te eindigen met het gladjes draaien van de server. Gelukkig is dat laatste meestal het geval. Soms zijn er echter problemen vanwege ofwel een "malle" misconfiguratie of een meer fundamenteel probleem met de server zelf. Dat laatste kan zich typisch voordoen als een paar pogingen met het starten van de server, zoals gerapporteerd in tabblad Kate uitvoer. Dat laatste is echter slechts bedoeld om berichten van een hoger niveau of voortgang te rapporteren in plaats van gedetailleerde diagnostiek door te geven en nog minder over wat in feite een ander proces is (de LSP-server).
De gebruikelijke manier om dit te diagnosticeren is om (een) vlag(gen) aan het opstartcommando (van de taalserver) teo te voegen die (extra) logging inschakelt (naar een bestand of standaardfoutuitvoer), als het dat al niet standaard doet. Als Kate dan wordt gestart op de opdrachtregel, dan zou men in staat kunnen zijn om meer (in)zicht te krijgen in wat er fout gaat.
Het kan ook informatief zijn om de protocoluitwisseling tussen de LSP-client van Kate en de LSP-server. Nog eens, de laatste heeft daar gewoonlijk manieren voor. De LSP-client biedt ook extra debuguitvoer (naar stderr) wanneer Kate is aangeroepen met het volgende LSPCLIENT_DEBUG=1, gedefinieerd met commando export.
Het bovenstaande voorbeeld van python virtualenv is slechts een voorbeeld van een "uitvoeromgeving" die werkt in en afgesloten en afgescheiden manier van de gebruiker omgeving op de host. Dit zou bereikt kunnen worden door verschillende instellingen van variabelen (bijv. virtualenv) of een (s)chroot opzet (omschakelen naar een andere map als nieuwe root), een container (bijv. podman, docker) of een ssh-sessie naar een andere host. In elk geval, de "andere omgeving" is gedefinieerd door een "uitvoervoorvoegsel". Dat betekent dat een programma aangeroepen/uitgevoerd kan worden in de andere omgeving door middel van een "voorvoegsel" (een programma en argumenten) achtergevoegd met de bedoelde aanroep. Bijvoorbeeld, podman exec -i containername of ssh user@host.
Speciaal, zoals in het eerdere voorbeeld van virtualenv, kan men kiezen/nodig hebben een LSP-server te draaien is zo'n aparte omgeving (bijv. een container met alle afhankelijkheden nodig voor een project). De "handmatige" benadering bovenstaand uitgelegd heeft als nadeel dat het de standaard LSP-opdrachtregel vervangt, die dan opnieuw gespecificeerd en gedupliceerd moet worden in het omslagscript. Ook, in enige van de andere voorbeelden bovenstaand genoemd kan de "padnaamruimte" van de host (zoals gezien door de bewerker) verschillen van die van de omgeving. Om deze zaken op een meer systematische manier aan te pakken (dan een "aangepaste" benadering), kan enige extra configuratie gespecificeerd worden.
Bijvoorbeeld, het volgende kan gespecificeerd worden in een .kateproject configuratie. Natuurlijk zouden de "valse" commentaren niet ingevoegd moeten worden.
{
// dit kan ook een array van objecten zijn
"exec": {
"hostname": "foobar"
// het commando zou ook een array van tekenreeksen kunnen zijn
"prefix": "podman exec -i foobarcontainer",
"mapRemoteRoot": true,
"pathMappings": [
// een van de volgende vormen is mogelijk
// een meer auto-magisch alternatief bestaat ook, zie later/onderstaand
[ "/map/op/host", "/aangekoppeld/in/container" ]
{ "localRoot": "/local/dir", "remoteRoot": "/remote/dir" }
]
},
"lspclient": {
"servers": {
"python": {
// dit zal overeenkomen/meedoen met het bovenstaande object
"exec": { "hostname": "foobar" },
// beperkt deze server tot deze project root,
// zodat het niet wordt gebruikt voor andere projecten die geopend kunnen worden
// (andere servers kunnen al specifieke roots gebruiken, maar python in het algemeen niet)
"root": "."
},
"c": {
// zoals boven
"exec": { "hostname": "foobar" },
"root": "."
}
}
}
}
Dus, wat gebeurt er als een resultaat van het bovenstaande? Zoals genoemd, het gedeelte lspclient van het bovenstaande wordt gemengd in de globale configuratie, dus een sectie exec wordt gevonden (voor gespecificeerde talen). Er wordt gezocht naar een ander object (dat specificeert overeenkomst met hostname) in ofwel de sectie exec of lspclient en een overeenkomende is als een basis voor een menging. Als een resultaat, een LSP-server (voor C en python) zullen zijn opdrachtregel achtergevoegd hebben aan het gespecificeerde (variabelen gesubstitueerd) voorvoegsel en zal daarom gestart worden in de gegeven container. Natuurlijk moet de container aangemaakt zijn, in een juist gestarte status en voorzien van de juiste LSP-servers. Men zou verleid kunnen zijn om de globale sectie te gebruiken (binnen lspclient.) Dat zou ook kunnen werken, maar dan zouden alle LSP-servers gestart moeten zijn met dat voorvoegsel, inclusief die voor bijv. Markdown, Bash-script of JSON. Het is waarschijnlijker dat de gebruikelijke host deze nog steeds zal bieden (indien in gebruik). Dus, zoals altijd, het hangt af van uw specifieke opzet.
De LSP-server kan nu echter verschillende paden (op afstand) observeren dan de lokalen die gezien wordt en gebruikt door de bewerker. De gespecificeerde pathMappings worden gebruikt om tussen hen heen en terug te vertalen in de communicatie met de LSP-server. Dat is, natuurlijk, zoveel als mogelijk. Het is helder dat niet alle lokale paden een representatie hebben op afstand, maar de ontbrekenden worden ook niet gezien (door de server) en veroorzaken geen problemen. Omgekeerd, echter, de server (op afstand) kan nu verwijzingen zien en leveren in de "root op afstand" die niet evident/gemakkelijk gerepresenteerd worden in het lokale systeem. De ingeschakelde mapRemoteRoot koppelt impliciet de root op afstand op een "lokale URL" exec://foobar/, die dan wordt behandeld door een gewoon-en-eenvoudig KIO-protocol. De laatste gebruikt essentieel (bijv.) podman exec -i foobarcontainer cat somefile" voor kopiëren van afstand naar lokaal (en andere zulke variaties met gebruik van hulpmiddelen uit de suite coreutils). Genoeg te zeggen het is niet bedoeld voor algemeen gebruik en claimt geen enkele prestatie, maar het is voldoende o een verwezen bestand snel en gemakkelijk in de bewerker te laden.
Het is nu gemakkelijk in te zien dat en vereenvoudigde versie van de bovenstaande configuratie (zonder hostname of pathMappings) gebruikt zou kunnen worden om de virtualenv te behandelen zonder de opdrachtregel van de server te dupliceren (in het omslagscript).
Het volgende kan niet zo gemakkelijk begrepen worden, dus wordt het hier expliciet genoemd.
Zowel een
hostnameen de actueleprefixdefiniëren de uitvoeringsomgeving (de eerste op naam, de laatste op inhoud). Binnen een exemplaar van een bewerkerproces, zou dezelfdehostnameniet geassocieerd moeten worden met verschillendeprefix, omdat dat leidt tot ongedefinieerd gedrag (zonder vereiste diagnostiek).Zowel
prefixenpathMappingszijn onderworpen aan (bewerker) expansie van variabelen (maar denk aan de het eerdere item).Op het moment van uitvoeren zijn sommige omgevingsvariabelen ook gezet, die gebruikt kunnen worden om (subtiel) het gedrag van de "prefix starter" aan te passen (hou opnieuw het eerste item in gedachten). Speciaal,
KATE_EXEC_PLUGINis gezet oplspclientenKATE_EXEC_SERVERis gezet op de id van de server (bijv.python).Speciaal, ook
KATE_EXEC_INSPECTis gezet op1. Dit geeft aan aan de "prefix-starter" dat de ontvanger (Kate-plug-in) enige out-of-band/protocol gegevens accepteert. Dit biedt de starter enige middelen te gebruiken om padkoppelingen te bepalen (bijv.podman inspect) en om dit te communiceren in geschikt formaat. Dit zal dan verwijderd worden uit de anders aan de LSP-protocol conforme stream en gebruikt om enige gedefinieerde padkoppeling uit te breiden. Dit kan dienen als een alternatief om bijv. verbonden aankoppelingen expliciet (opnieuw, de definitie van de container te dupliceren) te specificeren. Concreet, het bovenstaande tekstfragment zou dan, in plaats daarvan, gebruikt worden;{ // ... "exec": { "hostname": "foobar" // onfortuinlijke herhaling van naam, maar het hulpscript is gewoon-en-eenvoudig "prefix": "exec_inspect.sh foobarcontainer podman exec -i foobarcontainer", "mapRemoteRoot": true, "pathMappings": [] } // ... }
Tenslotte, wat als de benadering "terugval KIO" niet als adequaat beschouwd zou worden? Het is in de praktijk vaak mogelijke om de root op afstand "aan te koppelen" in het lokale bestandssysteem en dan de laatste in een pathMappings te specificeren. Voor beginners, het welbekende sshfs (fuse) bestandssysteem kan een (echt) systeem op afstand in het lokale systeem aankoppelen. Voor een container (podman/docker) ondersteunen de meeste opzetten met (bestandssysteemstuurprogramma) de volgende truc;
$ rootdir=/proc/`podman inspect --format '{{.State.Pid}}' containername`/root
# sommige symbolische koppelingen kunnen problemen veroorzaken, zie ook alternatief onderstaand
$ sudo mount --bind $rootdir /somewhere/containername
Als dat mislukt, dan kan men terugvallen op sshfs, of in feite een subset daarvan om de root op afstand/container aan te koppelen;
# zie de respectievelijke man-pages; sftp-server is voldoende voor het actuele (onversleutelde) bestandstoegangsprotocol $ socat 'exec:podman exec -i containername /usr/lib/openssh/sftp-server' 'exec:sshfs -o transform_symlinks -o passive \:/ /somewhere/containername' # ... $ fusermount -u /somewhere/containername
Merk op dat zo'n aankoppeling van root op afstand in het hostbestandssysteem is waarschijnlijk handmatig te specificeren en expliciet in een sectie pathMappings (die een erg intelligente prefix-starter blokkeert die alles zoiets automagisch arrangeert).
De plug-in Zoeken & vervangen van Kate stelt u in staat naar tekst of reguliere expressies te zoeken in veel verschillende bestanden tegelijk. U kunt in alle open bestanden zoeken, alle bestanden in één map met als optie zijn submappen of in het actieve bestand. U kunt zelfs filteren op bestandsnaam, bijvoorbeeld alleen in bestanden zoeken die eindigen op een specifieke bestandsextensie.
De volgende opties worden altijd getoond bovenaan de hulpmiddelenweergave Zoeken in bestanden:

U kunt zoveel zoekopdrachten tegelijk open hebben als u wilt. Klik gewoon op de knop Nieuw tabblad in de linkerbovenhoek van de hulpmiddelweergave Zoeken en een nieuw tabblad voor resultaten zal worden geopend waarmee u een andere zoekopdracht kunt geven.

De knop in de rechterbovenhoek van het venster van hulpmiddel Zoeken in bestanden zal de onderste helft van dat venster omschakelen tussen het weergeven van extra opties voor de modus Zoeken in map en de resultaten van uw zoekopdracht.
- Zoeken
Dit is waar u intypt wat u wilt vinden. U kunt standaard tekst invoeren of een reguliere expressie, indien ingeschakeld.
- Vervangen (tekstvak)
Vervangende tekst die zal worden toegevoegd aan bestanden in plaats van de tekst in het tekstvak Zoeken.
Wanneer u klaar bent met alles in te stellen drukt u gewoon op de knop om uw zoekopdracht uit te voeren; om de zoekopdracht in een nieuw tabblad uit te voeren, houd Ctrl ingedrukt alvorens de knop in te drukken. U kunt ook op Enter drukken in het tekstvak voor Zoeken om hetzelfde te doen.
Wanneer u klaar bent met alles in te stellen drukt u gewoon op de knop om de tekst ingevoerd in het tekstvak Zoeken te vervangen door dat wat in het tekstvak Vervangen staat. U kunt ook op Enter drukken in het tekstvak om hetzelfde te doen.
Ga naar volgende overeenkomst met uw zoekopdracht, indien nodig met omschakelen naar andere bestanden.
Hetzelfde als , zal echter alleen vervanging uitvoeren in bestanden die in het onderstaande paneel zijn geactiveerd.
Deze opties worden getoond onder de hier voor genoemde zoekopties. Als in plaats hiervan zoekresultaten worden getoond, druk dan op de knop
om ze weer te geven.
- Zoeken in
Deze heeft drie opties. Selecteer Open bestanden om in alle nu in Kate geopende bestanden te zoeken. Selecteer Map om in een map en optioneel zijn submappen te zoeken. Selecteer Huidig bestand om in alleen in het actieve bestand te zoeken.
Als de plug-in Projecten is geladen kunt u ook in het Huidige project zoeken of in Alle open projecten.
- Hoofdlettergevoelig
Beperkt zoekresultaten tot alleen die exact dezelfde combinatie van hoofd- en kleine letters hebben als in uw zoekopdracht.
- Reguliere expressies
Staat u toe om reguliere expressies te gebruiken in plaats van eenvoudige tekst als uw zoekopdracht.
- Resultaten uitvouwen
Toont alle gevonden resultaten in elk bestand, in plaats van alleen een lijst van bestanden die voldoen aan de zoekopdracht.
- Map
U kunt het pad van de map waarin u wilt zoeken invoeren. U wilt bijvoorbeeld
~/development/kde/kate/invoeren als u in de broncode van Kate wilt zoeken. Deze optie is alleen beschikbaar wanneer u de modus In map gebruikt.- Bestandsdialoog openen
Gebruik deze knop om de map op te zoeken met de browser van uw bureaubladmap. Deze knop werkt alleen in de modus Map.

Gebruik deze knop om de Map naar de naast hogere van de geselecteerde map te wijzigen.Deze knop werkt alleen in de modus Map.

Gebruik deze knop om het Map-item op de map in te stellen waarin het nu geopende document zich bevindt. Deze knop werkt alleen in de modus Map.
- Filter
Dit stelt u in staat om alleen bestandsnamen te zoeken die aan een bepaald patroon voldoen. Om bijvoorbeeld alleen bestanden geschreven in C++ te zoeken, wijzigt u het in
*.cpp. Om naar bestanden te zoeken die metkatebeginnen, wijzigt u het naarkate*. U kunt meerdere filters invoeren gescheiden door een komma (,). Deze optie is niet beschikbaar in de modus Open bestanden.- Uitsluiten
Het omgekeerde van Filter, dit voorkomt dat Kate zoekt in bestanden die overeenkomen met de gespecificeerde patronen. Zoals met Filter kunt u meerdere patronen, gescheiden met een komma (
,) invoeren. Deze optie is niet beschikbaar bij gebruikt van de modus Open bestanden.- Recursief
Bij activering van deze optie zal Kate ook in alle submappen van de geselecteerde map zoeken. Deze optie is alleen beschikbaar bij gebruik van de modus Map.
- Verborgen bestanden meenemen
Bij activering van deze optie zal Kate ook in bestanden of mappen zoeken die typisch verborgen zijn door uw operating system. Deze optie is alleen beschikbaar bij gebruik van de modus Map.
- Symbolische koppelingen volgen
De plug-in Zoeken in bestanden volgt typisch geen symbolische koppelingen. Wanneer deze optie is ingeschakeld zal de plug-in deze volgen en zoeken in de bestanden of mappen waarnaar ze verwijzen. Deze optie is alleen beschikbaar bij gebruik van de modus Map.
Waarschuwing
Het is mogelijk bij symbolische koppelingen om naar een map te verwijzen die hoger in hiërarchie van de mappen ligt dan de map waarin nu wordt gezocht of andere mappen die symbolische koppelingen bevatten naar een map hoger in de hiërarchie. Als zich zo'n koppeling in de map waarin gezocht bevindt en deze optie is inschakeld, dan zal Kate bij herhaling de koppeling volgen en in de map zoeken waarna de zoekopdracht nooit zal eindigen.
- Inclusief binaire bestanden
Bij activering van deze optie zal Kate ook in alle bestanden zoeken die er niet uitzien als tekstbestanden.
De resultaten van uw zoekopdracht worden hieronder getoond in de zoekopties. Als opties voor de modus Zoeken in map getoond worden, druk dan gewoon op de knop
om ze te tonen. Ze zullen ook automatisch worden getoond zodra een zoekopdracht wordt uitgevoerd.
Het zoekresultaat toont een lijst met bestanden die de tekst bevat in uw zoekopdracht, gevolgd door het aantal gevonden overeenkomsten in dat bestand.
Om een lijst met overeenkomsten in dat bestand te zien, klik gewoon op de expansiepijl links van de bestandsnaam. (Als u de optie Resultaten expanderen hebt geselecteerd, dan zal dit al voor u zijn gedaan). Het regelnummer van elke gevonden overeenkomst zal worden getoond, gevolgd door de inhoud van die regel, met gezochte tekst aangegeven in vette tekst.
Om het bestand te openen waarin het gezochte is gevonden, is dubbelklikken voldoende. Kate zal het bestand zo nodig openen. U kunt de cursor ook verplaatsen naar een specifieke overeenkomst door dubbel te klikken op zijn inhoud in plaats van de bestandsnaam.
- → (Ctrl+Alt+F)
Start de weergave van het hulpmiddel Zoeken en vervangen
- →
Ga naar de volgende overeenkomst met uw zoekopdracht uitgevoerd door de plug-in Zoeken en vervangen.
- →
Ga naar de vorige overeenkomst met uw zoekopdracht uitgevoerd door de plug-in Zoeken en vervangen.
- → →
Toont of verbergt het hulpmiddel van Kate Zoeken en vervangen.
De plugin van Kate Scripts & tekstfragmenten biedt u het toevoegen en beheren van uw eigen stukjes automatisering. Dit kan gaan over statische opnieuw bruikbare stukjes gewone tekst, over geavanceerde sjablonen met aanpasbare geautomatiseerde en te velden met scripts, tot volledig aangepaste JavaScript scripts om de inhoud van uw document aan te passen.
In de meeste gevallen worden deze typen inhoud beheerd op exact dezelfde manier. Daarom, voor gemakkelijk lezen, maakt de volgende discussie geen onderscheid tussen statische tekstfragmenten, gescripte tekstfragmenten en scripts. In plaats daarvan wordt de term “tekstfragment” gebruikt om naar allen te verwijzen.
De plug-in ondersteunt ook toekennen van sneltoetsen en invoegen van tekstfragmenten via code aanvullen. Verder kunt u verzamelingen van tekstfragmenten downloaden (uit zogenaamde opslagruimten) van het internet.
In het paneel zou u een lijst met opslagruimten voor fragmenten moeten zien, samen met opties om uw eigen ruimten aan te maken, ze van het internet te halen of te laden uit een lokaal bestand. Elke opslagruimte heeft een keuzevakje dat gebruikt kan worden om het te activeren of te deactiveren. Er zijn ook knoppen om bestaande opslagruimten te bewerken en te verwijderen.
U kunt fragment-opslagruimten van het internet downloaden. Klik eenvoudig op en er opent zich een venster met een lijst met fragment-opslagruimten. Controleer na het downloaden van het gewenste fragment of het is geactiveerd.
Om een nieuwe fragment-opslagruimte aan te maken klikt u op . U zou nu een dialoog moeten zien die naar de naam van het fragmentenbestand, de licentie en auteur vraagt. Na het kiezen van de gewenste opties, klikt u op .
De bewerker van opslagruimten voor fragmenten bevat de volgende opties:
- Naam
Verschijnt in de lijst met fragmenten in de hulpmiddelenweergave en wordt ook doorzocht bij het gebruiken van de functie code-aanvullen.
- Naamruimte
Gebruikt voorvoegsel bij gebruik van aanvulling van code.
- Licentie
Selecteer de licentie voor uw fragment-opslagruimte.
- Auteurs
Voer de na(a)m(en) in van de auteur(s) van het fragmentenbestand.
- Bestandstypen
Selecteer het/de bestandstype(n) waarop de fragment-opslagruimte moet worden toegepast. Het is standaard ingesteld op “”, dus is de opslagruimte op alle bestanden van toepassing. U kunt het bijvoorbeeld wijzigen in zoiets als
C++of iets uit een lijst selecteren door op de items te drukken. U kunt meer dan één bestandstype selecteren door Shift in te drukken bij het toevoegen van typen.
- Naam
De naam zoals getoond in de lijst met tekstfragmenten en de lijst voor aanvullen (vereist).
- Type
Tekstfragmenten kunnen ofwel gedefinieerd worden als tekstsjabloon of scripts. Beide typen bieden het gebruik van JavaScript functies (zie onderstaand voor details) en kunnen dus gebruikt worden met een gelijk effect. Echter, als een vuistregel, tekstsjablonen zullen geschikter zijn als u meestal tekst wilt invoegen, terwijl scripts vaak een gemakkelijker oplossing zijn als u tekst wilt wijzigen).
Opmerking
Kate moet gecompileerd worden tegen KTextEditor versie 6.15.0 of hoger, om deze functie beschikbaar te maken. Voor eerdere versies kunnen alleen tekstsjabloon tekstfragmenten gebruikt worden.
- Sneltoets
Op deze sneltoets drukken zal het fragment in het huidige document invoegen (of uitvoeren) .
- Tekstfragmenten (type
Tekstsjabloon) De tekst die uw fragment zal invoegen in het document.
Een fragment kan bewerkbare velden bevatten. Deze kunnen doorlopen worden door op Tab te drukken. De volgende uitdrukkingen kunnen gebruikt worden in de tekst van het sjabloon om velden aan te maken:
${maakt een eenvoudig, bewerkbaar veld aan. Alle volgende exemplaren van dezelfdeveldnaam}veldnaammaken velden die dezelfde inhoud hebben als de eerste tijdens bewerking.Tip
Veldnamen kunnen elk teken bevatten behalve de sluit-accolade(
}).Om
${text}letterlijk in een tekstfragment te voegen, escape het$teken met een backslash:\${text}. The tekst zal dan niet verandert worden in een veld. Om letterlijk een backslash voor een veld in te voegen, escape elke individuele backslash:\\${field},\\\\${field}enzovoort.${func(maakt een veld die een JavaScript-functie evalueert bij elke bewerking en wordt vervangen door de teruggeven waarde van de functie. Zie het tabblad Scriptbibliotheek voor meer informatie.ander_veld1,ander_veld2, ...)}${stelt een standaard waarde in voor het veld.veldnaam=default}standaardis een JavaScript-expressie. Gebruik aanhalingstekens (${) om een vaste tekenreeks als de standaard waarde te specificeren.veld_naam="tekst"}Tip
Bij gebruik van standaard waarden (
${), bedenk dat de standaard waarde onmiddellijk wordt geëvalueerd wanneer het tekstfragment wordt ingevoegd in het document en het later niet wordt bijgewerkt wanneer velden worden gewijzigd.veld_naam=standaard}U kunt naar andere velden verwijzen in standaard waarden als ze gedefinieerd worden voor de standaard waarde die wordt geëvalueerd. Dit zal u alleen toegang geven tot de standaard waarde van deze velden.
Als geen aangepaste standaard waarde is gedefinieerd, dan is de standaard waarde is de naam van het veld.
${cursor}markeert de eindpositie van de cursor na al het andere dat is ingevuld. Tekst invullen op die positie zal bewerken beëindigen. Plus na indrukken van Esc om bewerken te beëindigen, zal de cursor naar deze positie springen.- Tekstfragmenten (type
Script) De te evalueren JavaScript code voor dit tekstfragment.
Als deze code een statement
returnbevat, zal de teruggegeven tekenreeks ingevoegd worden op de huidige cursorpositie. U kunt ook de Kate scripting API gebruiken om het document direct te wijzigen.Bovendien kan uw code functies gebruiken gedefinieerd in het tabblad Scriptbibliotheek, die gedeeld wordt tussen alle tekstfragmenten in een opslagruimte.
- Scriptbibliotheek
Te gebruiken JavaScript hulpfuncties in uw tekstfragmenten. Deze functies worden gedeeld tussen alle tekstfragmenten in een opslagruimte.
U kunt de scripting API van Kate gebruiken om de geselecteerde tekst, de volledige tekst, de bestandsnaam en meer te verkrijgen door de van toepassing zijnde methoden van de objecten van het
documentenweergavete gebruiken. Kijk in de documentatie van de scripting API voor meer informatie.Wanneer een functie wordt aangeroepen in een veld van een
Tekstsjabloon-tekstfragment, wordt zijn terugkeerwaarde ingevoegd in de tekst.Opmerking
Functies gebruiken in
Tekstsjabloon-tekstfragmenten:Functies kunnen toegang hebben tot de up-to-date inhoud van alle velden via het
fields-object: gebruikfields.mijn_veldoffields["mijn_veld"]. Bij gebruik van een functie als de standaard waarde voor een veld, zijn alleen velden gedefinieerd in de tekst ervoor beschikbaar.Velden kunnen doorgegeven worden als argumenten van functies. De veldnaam kan direct gebruikt worden als het een geldige JavaScript identifier is en geen variabele met die naam bestaat. Gebruik anders het
fields-object:${func(field)},${func(fields.document)},${func(fields["my field"])}Functievelden (bijv.
${func()}) worden opnieuw geëvalueerd elke keer dat elke inhoud van het veld wordt gewijzigd. Dit is echter niet van toepassing op functie aanroepen in standaard waarden: ze worden slechts eenmaal geëvalueerd wanneer het tekstfragment wordt ingevoegd in het document.Voor complexere scripts kan het belangrijk zijn om te begrijpen dat eerst, het ruwe tekstfragment in het document wordt ingevoegd en daarna functies geëvalueerd worden. Bijv., als een functie de tekst ophaalt op de regel waar het tekstfragment wordt ingevoegd, dat die tekst ook
${functionCall()}zal bevatten. Waar dit complicaties veroorzaakt, overweeg, in plaats daarvan, een typeScriptte gebruiken.Om eenvoudige de nu geselecteerde tekst in te pakken in tags gebruik:
<strong>${view.selectedText()}</strong>Bedenkt dat alleen de terugkeerwaarde van een functie wordt ingevoegd in een veld.
- Beschrijving
Een optionele beschrijving van wat dit tekstfragment doet. Dit zal getoond worden in tekstballonnen. De beschrijving kan basis HTML formattering bevatten.
- Gebruiksvoorbeeld
Het volgende voorbeeld start een script dat de geselecteerde tekst of - als er geen selectie is - een standaard tekst invoegt in tags (type tekstfragment
Script):let range = view.hasSelection() ? view.selection() : new Range(view.cursorPosition(), view.cursorPosition()); let innertext = range.isEmpty() ? "Bold" : document.text(range); document.removeText(range); document.insertText(range.start, "<strong>" + innertext + "</strong>");
U kunt tekstfragmenten aanroepen op verschillende manieren:
Door op het fragment uit de hulpmiddelenweergave te klikken.
Een sneltoets gebruiken, als u er een heeft toegekend.
Bij het schrijven kunt u Ctrl+Space indrukken, die alle fragmenten zal weergeven in een gemaksvenster waaruit u kunt kiezen. Deze toetscombinatie biedt functionaliteit gelijkend op code-aanvulling.
Als het fragment variabelen (naast ${cursor}) bevat dan zal de cursor automatisch naar het eerste voorkomen van een variabele gaan en zal op u wachten om iets te schrijven. Als u klaar bent, drukt u op Tab om naar de volgende variabele te gaan, enzovoort.
→ → (Ctrl+Shift+K).
De plug-in zal elke ingedrukte toets opnemen totdat u opnemen beëindigd.
→ → (Ctrl+Shift+K).
De plug-in zal het opnemen van indrukken van toetsen stoppen en de reeks als de huidige macro opslaan.
→ → (Ctrl+Alt+Shift+K).
De plug-in zal het opnemen van indrukken van toetsen stoppen maar de huidige macro zal niet wijzigen.
Het is mogelijk toetsenbordmacro's op te slaan door ze een naam te geven.
Macro's met namen blijven bestaan tussen sessies van Kate, ze worden opgeslagen in het bestand keyboardmacros.json in de gebruikergegevensmap van Kate (gewoonlijk ~/.local/share/kate/).
→ → (Alt+Shift+K).
De plug-in zal u vragen om een naam en de macro onder die naam opslaan.
Het commando kmsave zal de huidige macro onder de naam naam opslaan.naam
→ → .
De plug-in maakt een lijst met opgeslagen macro's als items in dit submenu, een item activeren zal de bijbehorende macro als de huidige laden.
Het commando kmload zal de onder de naam naam opgeslagen macro als de huidige laden.naam
→ → .
De plug-in maakt een lijst met opgeslagen macro's als items in dit submenu, een item activeren zal de bijbehorende macro afspelen zonder deze te laden.
Merk op dat elke opgeslagen macro een actie is die onderdeel is van de huidige verzameling acties zodat een eigen sneltoets er aan toegekend kan worden via het interface → .
Het commando kmplay zal de onder de naam naam opgeslagen macro afspelen zonder deze te laden.naam
→ → .
De plug-in maakt een lijst met opgeslagen macro's als items in dit submenu, een item activeren zal de bijbehorende macro wissen (d.w.z., verwijderen).
Het commando kmwipe zal de onder de naam naam opgeslagen macro wissen.naam
Vanaf nu mislukken toetsenbordmacro's om op de juiste manier af te spelen als er sommige typen GUI-widgets worden gebruikt: bijvoorbeeld, QMenu, QuickOpenLineEdit of TabSwitcherTreeView. I weet niet zeker waarom maar mijn eerste gissing zou zijn dat deze widgets op niet-standaard manier werken met betrekking tot toetsenbordgebeurtenissen.
De Structured Query Language (SQL) is een gespecialiseerde taal voor het bijwerken, verwijderen en opvragen van informatie uit databases.
The plug-in SQL van Kate stelt u in staat om:
Een database aan te maken
Te verbinden met bestaande databases
Gegevens in de database te voegen en uit de database te verwijderen
Zoekopdrachten uit te voeren
Resultaten in een tabel te tonen
Selecteer uit het menu of de werkbalk en selecteer daarna het Qt™-databasestuurprogramma dat u wilt gebruiken (inclusief QSQLITE, QMYSQL3, QMYSQL, QODBC3, QODBC, QPSQL7 en QPSQL). Als u het gewenste stuurprogramma niet ziet, dan moet u het installeren. Druk daarna op .
Als de door u geselecteerde database een bestand gebruikt, geeft dan eenvoudig de locatie van de database en druk op de knop . Als een verbinding met een server vereist is, moet u de hostnaam van de server, uw gebruikersnaam en wachtwoord invoeren en elke andere informatie die het specifieke stuurprogramma kan vereisen. Druk daarna op .
Geef tot slot een naam aan uw verbinding en druk op .
U kunt gegevens invoegen, verwijderen en bijwerken met de SQL-plug-in op dezelfde manier als vanaf de commandoregel of in een programma. Voer eenvoudig een query in en druk op de knop in de werkbalk of gebruik → (Ctrl+E).
Voorbeeld 4.1. Enkele voorbeeld queries
- INSERT
INSERT INTO
tabelnaam("feature1", "feature2", "feature3", "feature4", "feature5") VALUES ("waarde1", "waarde2", "waarde3", "waarde4", "waarde5" )- DELETE
DELETE FROM
tabelnaamWHERE name = "tekst"- UPDATE
UPDATE
tabelnaamSET "feature1" = "tekst", "feature2" = "tekst", "feature3" = "text", "feature4" = "tekst", "feature5" = "tekst"
Na het uitvoeren van een query SELECT, kunt u de resultaten als een tabel bekijken die zal verschijnen in het weergavehulpmiddel SQL-gegevensuitvoer onderaan Kate of als tekst in de SQL-tekstuitvoer. Als er een fout is ziet u dat in de tekstuitvoer.
In de hulpmiddelweergave SQL-gegevensuitvoer bevinden zich een aantal knoppen:
Wijzigt de grootte van kolommen om hun inhoud te laten passen.
Wijzigt de grootte van Rijen om hun inhoud te laten passen.
Selecteert de gehele tabelinhoud en kopieert deze naar de klembordbuffer.
Exporteert de gehele tabelinhoud naar een bestand, het klembord of het huidige document in het formaat kommagescheiden waarden.
Verwijdert alles uit de tabelweergave.
U kunt nu de kleuren wijzigen die getoond worden in de tabel in de sectie SQL van → .
U kunt door uw database bladeren met het browserweergavehulpmiddel Databaseschema links. De weergegeven informatie varieert afhankelijk van welk stuurprogramma voor de database u gebruikt.
Om deze lijst te verversen klikt u rechts ergens in het weergavehulpmiddel en selecteert u . Om een query te maken op een item in de lijst, klikt u rechts op een item, selecteert en selecteert u het type query (, , of ) uit het submenu dat verschijnt.
- →
Voegt een nieuwe verbinding toe met elk databasestuurprogramma.
- →
Verwijdert de geselecteerde verbinding.
- →
Bewerkt de huidige verbindingsinstellingen.
- Verbindingen
Alle door u gemaakte databaseverbindingen staan in de lijst tussen de menu-items en . Selecteer er een om queries uit te voeren of maak er wijzigingen in.
- → (Ctrl+E)
Voer uw query uit.
Het stelt ontwikkelaars in staat om symbolen te bekijken (functies, macro's en structures) uit broncode.
Door te klikken op de ontlede informatie kunt u gemakkelijk door de code wandelen.
Op dit moment worden de volgende talen ondersteund:
C/C++, Java™, Perl, PHP, Python, Ruby, XSLT, Tcl/Tk, Fortran
Lijst met mogelijkheden:
| Modus Lijst/boomstructuur |
| Sorteren in-/uitschakelen |
| Functieparameters verbergen/tonen |
| Boomstructuur uit-/invouwen |
| Bij wijzigen van document automatisch bijwerken |
| Ontleden van code is gebaseerd op het framework van accentueren van syntaxis uit KDE Frameworks |
De ingebouwde terminal, een kopie van Konsole, de terminal van KDE, is er om het u gemakkelijk te maken. U kunt hem beschikbaar maken door het menu → → te gebruiken, de terminal krijgt dan direct de focus. Als de optie automatisch de terminal, indien mogelijk, met het huidige document synchroniseren ingeschakeld is, zal er bovendien naar de map van het huidige bestand overgeschakeld worden (indien mogelijk) zodra het weergegeven wordt of zodra het huidige bestand gewijzigd wordt.
De standaardlocatie in het venster van Kate is onderaan, onder het editor-gedeelte.
U kunt Konsole instellen met behulp van het -menu. Meer informatie kunt u vinden in het Konsole handboek.
De ingebouwde terminalemulator wordt geleverd door de plug-in voor terminalweergave.
- → →
Toont of verbergt de ingebouwde terminalemulator.
De eerste keer dat deze optie geactiveerd wordt, zal de terminal aangemaakt worden.
De terminal krijgt de focus zodra hij weergegeven wordt, zodat u onmiddellijk commando's kunt intypen. Als de optie Terminal automatisch synchroniseren met actief document, indien mogelijk ingeschakeld is op de pagina Terminal van het hoofddialoogvenster "Instellingen"), zal de shell-sessie de map wijzigen naar de map van het actieve document als het een lokaal bestand is.
- →
Voer de nu geselecteerde tekst in de ingebouwde terminalemulator in. Er wordt geen nieuwe-regel-teken toegevoegd na de tekst.
- →
Dit veroorzaakt dat in de ingebouwde terminal het commando cd wordt uitgevoerd naar de map van het actieve document.
Als alternatief kunt u Kate zo instellen dat het altijd de terminal gesynchroniseerd houdt met het huidige document. Zie de paragraaf met de naam “Configuratie” voor meer informatie.
- →
Het huidige document in Konsole uitvoeren. Alleen de lokale documenten kunnen uitgevoerd worden. Kate zal een waarschuwing tonen alvorens het document uit te voeren omdat deze actie een serieuze beveiligingsdreiging kan zijn.
- →
Schakel de focus van het huidige document naar de terminal en omgekeerd.
De plug-in Terminalweergave kan worden geconfigureerd op de pagina Terminal van de instellingendialoog.
De volgende opties zijn beschikbaar:
- De terminal automatisch synchroniseren met het huidige document, wanneer mogelijk
Dit heeft als gevolg dat de ingebouwde terminal een cd doet in de map van het actieve document wanneer gestart en wanneer een nieuw document de focus krijgt. Indien niet ingeschakeld, dan moet u al uw navigatie in de terminal zelf doen.
- Stel de omgevingsvariabele EDITOR in op 'kate -b'
Dit stelt de omgevingsvariabele
EDITORin zodat programma's die in de ingebouwde terminal werken die automatisch een bestand in een tekstbewerker openen deze in Kate openen in plaats daarvan in de standaard tekstbewerker van uw shell. U zult niet in staat zijn met het gebruik van de terminal totdat u het bestand in Kate hebt gesloten, zodat het aanroepende programma weet dat u klaar bent met het bewerken van het bestand.- Konsole verbergen bij indrukken van 'Esc'
Dit biedt het sluiten van de ingebouwde terminal door de toets Esc in te drukken. Kan probleem veroorzaken met terminaltoepassingen die toetst Esc gebruiken, bijv. vim. Voeg zulke toepassingen toe aan het onderstaande tekstvak. De items in de lijst moeten gescheiden zijn door komma's.
U kunt deze plug-in gebruiken om geselecteerde tekst te verwerken met commando's op de terminal. De selectie zal gebruikt worden als invoer voor het commando en de uitvoer zal ofwel de selectie vervangen of gekopieerd worden naar het klembord, afhankelijk van de voorkeur van de gebruiker.
Voorbeelden:
less /etc/fstab - plakt de inhoud van dit bestand of kopieert het naar het klembord
wc - telt regels, woorden en tekens van de selectie en plakt dit in het document of kopieert het naar het klembord
sort - sorteert regels van de selectie en plakt het resultaat in het document of kopieert het naar het klembord
- → (Ctrl+\)
Opent de dialoog voor tekstfilteren:
Voer het shell-commando in in de keuzelijst of selecteer een vorig commando uit de geschiedenis.
- Kopieer het resultaat in plaats van het te plakken
Kopieer het resultaat naar het klembord en laat een document ongewijzigd.
- STDOUT en STDERR samenvoegen
Indien geactiveerd zal uitvoer uit STDOUT en STDERR samengevoegd worden en zullen geen fouten worden gerapporteerd. Anders zal STDERR worden getoond als een passief bericht
Deze plug-in controleert of XML-bestanden geldig zijn en op de juiste manier zijn opgemaakt.
Deze plug-in controleert het huidige bestand. Een lijst met waarschuwingen en foutmeldingen zal aan de onderzijde van Kate's venster verschijnen. Klik op een foutmelding om naar de bijhorende plaats in het bestand te gaan. Als het bestand een “DOCTYPE” heeft, dan zal deze worden gebruikt om de validatie van het bestand te controleren. De DTD wordt op een relatieve positie van het bestand verwacht; dus als de DTD verwijst naar “DTD/xhtml1-transitional.dtd” en het bestand is /home/rinse/test.xml, dan wordt de DTD verwacht op /home/rinse/DTD/xhtml1-transitional.dtd. DTD's op afstand die zijn gespecificeerd via HTTP worden ook ondersteund.
Als het bestand geen doctype heeft, zal het worden gecontroleerd op op de juiste manier is samengesteld.
Als u meer wilt weten over XML, ga dan naar de officiële W3C XML-webpagina's.
Intern roept deze plugin het commando xmllint aan. Dit hulpprogramma is onderdeel van libxml2. Als dit niet correct op uw systeem is geïnstalleerd, zal deze plugin niet werken.
Om deze plugin te laden opent u de instellingendialoog van Kate onder → . Selecteer daarna XML-validatie die zal verschijnen in de sectie Toepassing / Plugins en de dialoog afsluit.
Deze plugin geeft hints over wat is toegestaan op een bepaalde positie in een XML-bestand volgens de DTD van het bestand. Het toont mogelijke elementen, attributen, attribuutwaarden of entiteiten, afhankelijk van de positie van de cursor (bijv. alle entiteiten worden getoond als het teken links van de cursor een “&”) is. Het is ook mogelijk om de dichtstbijzijnde open tag aan de linker kant te sluiten.
De DTD moet bestaan in XML-formaat, zoals geproduceerd door het Perl programma dtdparse. We zullen een DTD in dit formaat “meta DTD” noemen. Sommige meta DTD's zijn meegeleverd. Zij zijn geïnstalleerd in katexmltools/ in qtpaths , die ook de standaard map is wanneer u kiest . Om uw eigen meta DTD's te maken, haal dtdparse op uit http://dtdparse.sourceforge.net.--paths GenericDataLocation
Start Kate en open de instellingendialoog onder → . Selecteer daarna XML-aanvulling die zal verschijnen in de pagina en de dialoog afsluit. Selecteer hierna → . Als uw document geen “DOCTYPE” bevat of de doctype is onbekend, dan moet u een meta DTD uit het bestandssysteem kiezen. Anders wordt de meta DTD, die overeenkomt met de huidige DOCTYPE van het document, automatisch geladen.
U kunt de plugin gebruiken terwijl u uw tekst intypt:
- < (kleiner-dan-toets)
Dit start een lijst met mogelijke elementen tenzij de cursor zich al in een tag bevindt. Merk op dat u dit nu niet kunt gebruiken om het element op topniveau in te voegen (bijv. “<html>”).
- </(kleiner-dan-toets + schuine streep)
Invoeren van deze tekens biedt het sluiten van het huidige element (het dichtst bij de geopende links van de cursor). Druk op Enter om de suggestie te accepteren. Anders dan met de menu-items , werkt dit alleen met een toegekende DTD.
- " (aanhalingsteken-toets)
De toets aanhalingsteken start een lijst met mogelijke attribuutwaarden (als die er zijn) als u zich in een tag bevindt.
- (spatietoets)
Deze toets start een lijst met mogelijke attribuutwaarden voor het huidige element als u zich in een tag bevindt.
- & (ampersand-toets)
Deze toets start een lijst met benoemde entiteiten.
U kunt alle functies en beperkingen testen door katexmltools/testcases.xml in qtpaths in Kate te laden en de instructies te volgen.--paths GenericDataLocation
- → (Ctrl+Enter)
Dit opent een dialoog die u een XML-element laat invoegen. De tekens <, > en de sluittag zullen automatisch worden ingevoegd. Als u tekst hebt geselecteerd wanneer dit menu-item is geselecteerd, dan zal de geselecteerde tekst worden omgeven door de openings- en sluittag. De dialoog biedt ook aanvulling van alle elementen die kunnen worden ingevoegd op de huidige positie van de cursor als u een meta DTD hebt toegekend via .
- → (Ctrl+<)
Hiermee wordt uw tekst doorzocht naar een tag die nog niet is gesloten en zal deze sluiten door de overeenkomstige sluittag. Het zoeken start op de positie van de cursor en gaat naar links. Als het geen open tag kan vinden dan zal er niets gebeuren.
- →
Dit vertelt de plugin welke meta DTD voor het huidige document te gebruiken. Merk op dat dit toekennen niet zal worden opgeslagen. U zult het moeten herhalen wanneer u Kate de volgende keer opstart.
De plug-in voor de compiler-verkenner biedt u het gebruik van de compiler-verkenner vanuit Kate. Compiler-verkenner is gewoonlijk beperkt tot slechts 1 bestand en het is moeilijk om te gebruiken voor het bekijken van de codegen van een bestand in uw project. Deze plug-in richt zich op het vereenvoudigen van dit proces door automatisch compilatiecommando's voor uw bestand te detecteren.
Het eerste wat u moet doen is een tabblad compiler-verkenner openen. Druk op Ctrl+Alt+I om de opdrachtenbalk te openen en zoek naar "Huidig bestand in compiler-verkenner openen" en druk op Enter. U kunt deze actie toevoegen aan de werkbalk of toekennen aan een sneltoets voor gemakkelijker toegang.
Vervolgens moet u een lokaal exemplaar van de compiler-verkenner opzetten of de publieke exemplaar https://godbolt.org/ gebruiken. Zie https://github.com/compiler-explorer/compiler-explorer. Nadat u een exemplaar hebt, klik op de keuzelijst Optie in het tabblad compiler-verkenner die u eerder hebt geopend en selecteer Url wijzigen... en voer daarna de url van de server van de compiler-verkenner in.
Vervolgens hebt u een compile_commands.json nodig als u codegen wilt zien voor een bestand in uw project. Anders kunt u dit gedeelte overslaan. Dit kan gemakkelijk verkregen worden als u een modern bouwsysteem gebruikt zoals CMake of Meson. Voor CMake is het genoeg om -DCMAKE_EXPORT_COMPILE_COMMANDS=ON door te geven bij aanroepen van cmake. De compile_commands.json zou geplaatst moeten worden in de hoogste map van uw project. Sluit en open opnieuw het tabblad compiler-verkenner in Kate. Na opnieuw openen van het tabblad zou het de compilatiecommando's moeten tonen die nodig zijn om het bestand te compileren
Als u alleen de compiler-verkenner gebruikt om tijdelijk de codegen te zien, dan kunt u de compilatiecommando's voor uw bestand noteren en klikken op Compileren. Merk op dat automatisch opnieuw compileren bij bewerken niet wordt ondersteund. U moet op Compileren klikken elke keer dat u het bestand opnieuw wilt compileren
Nadat het bestand is gecompileerd zou u de codegen moeten zien aan de rechterkant. U kunt rechts klikken en Gekoppelde code onthullen selecteren om de codegen voor een specifieke regel te zien. Overeenkomstig aan de rechterkant kunt u rechts klikken en Naar broncode schuiven om de broncode te tonen voor een gegeven regel codegen
De plug-in voor formatteren biedt het gemakkelijk formatteren van broncode. De plug-in richt zich op het behouden van de geschiedenis van het ongedaan maken van het document en de cursorpositie van de gebruiker toen formatteren van de code startte zodat het formatteren van de code het werk van de gebruiker niet verstoort. Dit is speciaal belangrijk voor automatisch formatteren bij opslaan.
Het biedt de gebruiker om code op twee manieren te formatteren:
Handmatig met de actie "Document formatteren".
Automatisch bij opslaan
Tip
U kunt naar deze actie zoeken in de opdrachtenbalk en er een sneltoets aan verbinden voor gemakkelijker toegang
De huidige lijst met ondersteunde talen en formatteerders is als volgt:
C/C++/ObjectiveC/ObjectiveC++/Protobuf/GLSL/Java - clang-format
Javascript/Typescript/JSX/TSX - fijner
JSON
prettier
clang-format
jq
Dart - dartfmt
Rust - rustfmt
Go - gofmt
XML - xmllint
Zig - zigfmt
CMake - cmake-format
D - dfmt
Fish Shell - fish_indent
Bash - shfmt
Nix - nixfmt
QML - qmlformat
HTML - prettier
Swift - swiftformat
Erlang - erlfmt
Godot-script - gdformat
Python
autopep8
ruff
YAML
yamlfmt
prettier
De plug-in kan op twee manieren geconfigureerd worden:
Globaal, vanuit de dialoog Configureren
Op een per project basis met het bestand
.kateproject
Bij lezen van de configuratie, de plug-in zal eerst proberen de configuratie uit het bestand .kateproject te lezen en daarna de globale configuratie lezen. Voorbeeld:
{
"formatOnSave": true,
"formatterForJson": "jq",
"cmake-format": {
"formatOnSave": false
},
"autopep8": {
"formatOnSave": false
}
}
Het bovenstaande:
schakelt "formatteren bij opslaan" globaal in
specificeert "jq" als de formatteerder voor JSON
schakelt "formatteren bij opslaan" uit voor cmake-format en autopep8
Om formatteren voor een project te configureren, maak eerst een bestand .kateproject en voeg daarna het object "formatting" er aan toe. In het object "formatting" kunt u uw instellingen specificeren zoals getoond in het vorige voorbeeld. Voorbeeld:
Opmerking
U moet de Projectplug-in inschakelen om dit te laten werken
{
"name": "My Cool Project",
"files": [
{
"git": 1
}
],
"formatting": {
"formatterForJson": "clang-format",
"autopep8": {
"formatOnSave": false
}
}
}
Voor informatie over de geavanceerde hulpmiddelen voor bewerking in Kate, zie het hoofdstuk Geavanceerde hulpmiddelen voor bewerking in het handboek van KatePart.
Zoals elke geavanceerde teksttbewerker biedt Kate een aantal manieren om zijn functionaliteit uit te breiden. U kunt eenvoudige scripts schrijven om functionaliteit toe te voegen met JavaScript of zelfs meer functionaliteit aan de bewerker zelf toevoegen met Toepassingsplug-ins voor Kate geschreven in C++. Wanneer u Kate, hebt uitgebreid, bent u welkom om met ons mee te doen en uw verbeteringen te delen met de wereld!
Voor informatie over toevoegen of wijzigen van definities voor accentuering van syntaxis, zie de Sectie werken met accentuering van syntaxis van het hoofdstuk ontwikkeling uit het handboek van KatePart.
Voor informatie over het schrijven van scripts met JavaScript, zie de Sectie schrijven van JavaScript van het hoofdstuk ontwikkeling uit het handboek van KatePart.
Kate toepassingsplug-ins breiden de functionaliteit van de bewerker Kate zelf uit op elke manier die u kunt verzinnen, door dezelfde programmeertaal te gebruiken waarin Kate is geschreven, C++.
Om te beginnen, zie de De inleiding op de website van Kate: Schrijven van een Kate-plug-in.
Voor informatie over de VI-invoermodus van Kate, zie het hoofdstuk VI-invoermodus van het handboek van KatePart.
- → (Ctrl+N)
Dit commando start een nieuw document in de editor. In de lijst aan de linkerkant wordt het nieuwe bestand Naamloos genoemd.
- → (Ctrl+O)
Toont een standaard KDE dialoog voor Bestand openen. Gebruik de bestandsweergave om het bestand te selecteren dat u wilt openen en klik op om het te openen.
- →
Dit geeft een lijst van bestanden die u recent hebt opgeslagen. Door op een bepaald bestand te klikken wordt het geopend in dit programma. Dit kan uiteraard alleen als het bestand nog bestaat op de aangegeven locatie.
- →
Dit submenu biedt een lijst met toepassingen bekend om het MIME-type van uw huidige document te behandelen. Activeren van een item opent het huidige document met die toepassing.
Bovendien is er een item die het dialoogvak 'Openen met' start, die u in staat stelt om een andere toepassing te selecteren om het actieve bestand te openen. Uw bestand zal nog steeds in Kate zijn geopend.
- → (Ctrl+S)
Slaat het huidige document op. Indien dit bestand al eerder is opgeslagen met deze naam, dan zal het bestand zonder verdere vragen worden opgeslagen. Indien dit de eerste keer is dat een nieuw document wordt opgeslagen zal het dialoogvenster "opslaan als" worden getoond. Dit venster wordt hieronder verder beschreven.
- → (Ctrl+Shift+S)
Dit maakt het mogelijk om een document op te slaan onder een nieuwe bestandsnaam. De nieuwe naam kunt u opgeven in het venster dat identiek is aan het venster zoals dat in de sectie Openen reeds is beschreven.
- →
Een document opslaan met een nieuwe bestandsnaam in een andere codering.
- →
Een kopie van een document opslaan met een nieuwe bestandsnaam en doorgaan met bewerken in het originele document.
- → (Ctrl+L)
Dit commando slaat alle gewijzigde geopende bestanden op.
- → (F5)
Laadt het actieve bestand opnieuw van de schijf. Deze opdracht is nuttig wanneer een ander programma of proces het bestand heeft gewijzigd terwijl u het open hebt staan in dit programma.
- →
Alle geopende bestanden herladen..
- → (Ctrl+P)
Opent het afdrukvenster waarin u kunt aangeven wat, waar en hoe er afgedrukt moet worden.
- →
Sla het huidige open document op als een HTML-bestand, die opgemaakt wordt met de huidige accentuering van syntaxis en instellingen van het kleurschema.
- → (Ctrl+W)
Sluit het huidige bestand met dit commando. Als u wijzigingen gemaakt hebt die nog niet opgeslagen zijn, wordt u gevraagd of het bestand opgeslagen moet worden voordat Kate het sluit.
- →
Sluit andere geopende documenten.
- →
Dit commando sluit alle bestanden die in Kate geopend zijn.
- →
Alle documenten in de bestandenlijst die niet opnieuw geopend kunnen worden sluiten omdat ze niet meer toegankelijk zijn.
- → (Ctrl+Q)
Dit commando sluit Kate af en alle bestanden die geopend waren. Als er onopgeslagen wijzigen in bestanden zijn, wordt u gevraagd of ze opgeslagen moeten worden.
- → (Ctrl+Z)
Maakt de laatste bewerking ongedaan (typen, kopiëren, knippen, etc.)
Opmerking
Dit kan verscheidene bewerkingen, zoals het intypen van tekst, tegelijk ongedaan maken.
- → (Ctrl+Shift+Z)
Dit draait de gevolgen van "Ongedaan maken" weer terug.
- → (Ctrl+X)
Deze opdracht verwijdert de huidige selectie en plaatst het op het klembord. Het klembord werkt onzichtbaar en maakt het mogelijk gegevens over te brengen tussen toepassingen.
- → (Ctrl+C)
Dit kopieert de huidige selectie naar het klembord zodat die elders kan worden geplakt. Het klembord werkt onzichtbaar en maakt het mogelijk gegevens over te brengen tussen toepassingen.
- → (Ctrl+V)
Dit plakt het eerste item in het klembord op de plaats van de cursor. Het klembord werkt onzichtbaar en maakt het mogelijk gegevens over te brengen tussen toepassingen.
Opmerking
Als de optie "Selectie overschrijven" ingeschakeld is, zal de geplakte tekst eventueel geselecteerde tekst overschrijven.
- → (Ctrl+Shift+Ins)
Dit zal de inhoud van de muisselectie die eerder is gedaan plakken. Markeer enige tekst met de muisaanwijzer om het in het nu open bestand te plakken met dit menu-item.
- →
Dit zal de geselecteerde tekst met de inhoud van het klembord omwisselen.
- →
Dit submenu zal het begin van delen van tekst tonen die recent naar het klembord zijn gekopieerd. Selecteer een item uit dit menu om het in het nu geopende bestand te plakken.
- →
Kopieer de selectie als HTML, opgemaakt volgens de huidige accentuering van de syntaxis en instellingen van het kleurschema.
- → (Ctrl+A)
Dit selecteert het hele document. Op deze manier kunt u op een handige manier alle tekst kopiëren naar een andere toepassing.
- → (Ctrl+Shift+A)
Deselecteert alle geselecteerde tekst.
- → (Ctrl+Shift+B)
Wisselt van selectiemodus. Wanneer de selectiemodus BLOK is, de statusbalk toont de tekenreeks [BLOK] en u kunt verticaal selecteren, bijv. selecteer kolom 5 tot 10 in regel 9 tot 15.
- →
Schakel tussen een normale en een vi-achtige modale bewerkingsmethode. Deze vi-modus ondersteunt de meestgebruikte opdrachten en bewegingen van vim's normale en visuele modus en heeft een optionele vi-modus statusbalk. Deze statusbalk toont opdrachten terwijl ze worden ingevoerd, uitvoer van opdrachten en de huidige modus. Het gedrag van deze modus kan aangepast worden op het tabblad Vi-invoermethode in de sectie Bewerking van de instellingendialoog van dit programma.
- → (Ins)
Schakelt de overschrijfmodus in of uit. Wanneer de modus INS is, worden tekens ingevoegd op de plaats van de cursor. Wanneer de modus OVR is, zullen de tekens die u typt de huidige tekens rechts van de cursor vervangen. De statusbalk toont de huidige status van de overschrijfmodus, of INS of OVR.
- → (Ctrl+F)
Dit opent de zoekbalk onder in het venster van de editor. Links in de balk bevindt zich een knop met een pictogram om de balk te sluiten, gevolgd door een klein invoerveld voor het opgeven van het zoekpatroon.
Het zoeken begint onmiddellijk nadat u de eerste letters van uw zoekpatroon intypt. Als er een overeenkomst is in de tekst, wordt deze gemarkeerd en verandert de achtergrondkleur van de invoer in lichtgroen. Als er geen overeenkomst gevonden wordt in de tekst wordt dit aangegeven door een lichtrode achtergrondkleur van het invoerveld.
Gebruik de knop
of
om naar de volgende of vorige overeenkomst in het document te gaan.Overeenkomsten in het document zijn geaccentueerd zelfs wanneer u de zoekbalk sluit. Om deze accentuering te wissen drukt u op de Esc-toets.
U kunt kiezen of bij het zoeken rekening gehouden moet worden met hoofdletters of kleine letters. Kiest u
, dan krijgt u alleen de tekst die precies overeenkomt met de hoofd- en kleine letters in het zoekpatroon. Klik op de knop
rechts van de incrementele zoekbalk om over te schakelen naar het balk geavanceerd zoeken en vervangen. - → → (F3)
Hiermee herhaalt u de laatste zoekhandeling, indien aanwezig, zonder de incrementele zoekbalk te activeren, waarbij voorwaarts gezocht wordt in het document vanaf de positie van de cursor.
- → → (Shift+F3)
Hiermee herhaalt u de laatste zoekhandeling, indien aanwezig, zonder de zoekbalk te activeren, waarbij achterwaarts in plaats van voorwaarts gezocht wordt in het document.
- → → (Ctrl+H)
Zoekt naar de volgende overeenkomst van de geselecteerde tekst.
- → → (Ctrl+Shift+H)
Zoekt naar de vorige overeenkomst van de geselecteerde tekst.
- → (Ctrl+R)
Deze opdracht opent het venster "geavanceerd zoeken en vervangen". Links boven in het venster bevindt zich de knop met een pictogram om het venster te sluiten, gevolgd door een klein tekstinvoerveld om het zoekpatroon in te voeren.
U kunt de zoekmodus aanpassen door uit de lijst te kiezen voor Platte tekst, Hele woorden, Escape sequences of Reguliere expressie.
Als Escape sequences of Reguliere expressie geselecteerd is, zal het menu-item onderaan het contextmenu van de tekstinvoervelden geactiveerd worden. Hierdoor kunt u escape sequences of reguliere expressie-items toevoegen aan het zoek- of vervangpatroon vanuit voorgedefinieerde lijsten.
Gebruik de knop
of
om naar de volgende of vorige overeenkomst in het document te gaan.Typ de vervangende tekst in in het tekstinvoerveld met de naam Vervangen en klik op de knop om alleen de geaccentueerde tekst te vervangen, of de knop om de gezochte tekst in het hele document te vervangen.
U kunt het gedrag van zoeken en vervangen wijzigen door onderin de balk verschillende opties te kiezen. Het kiezen van
resulteert in alleen die tekenreeksen waarvan elke letter overeenkomt met de hoofdletter of kleine letter zoals opgegeven in de zoekopdracht.
zal alleen binnen de huidige selectie zoeken en vervangen. De knop Alles zoeken accentueert alle overeenkomsten in het document en toont het aantal gevonden resultaten in een klein popup-venster. Klik op de knop
rechts in de balk zoeken en vervangen om over te schakelen naar de incrementele zoekbalk. - → → (Ctrl+6)
Beweeg de cursor naar het bijbehorende openings- of sluithaakje.
- → → (Ctrl+Shift+6)
Selecteert de tekst tussen het overeenkomstige openings- en sluithaakje.
- → →
Regels die zijn gewijzigd na het openen van het bestand worden gewijzigde regels genoemd. Deze actie springt naar de vorige gewijzigde regel.
- → →
Regels die zijn gewijzigd na het openen van het bestand worden gewijzigde regels genoemd. Deze actie springt naar de volgende gewijzigde regel.
- → → (Ctrl+G)
Dit opent onderaan het venster de balk Ga naar regel, waarmee u de cursor een sprong kunt laten maken naar een bepaalde regel (door een getal op te geven) in het document. U kunt het regelnummer direct invoeren in het tekstinvoerveld of u kunt klikken op de pijltjes naar boven en beneden naast het tekstinvoerveld. Het pijltje naar boven verhoogt het regelnummer, en het pijltje naar beneden verlaagt het. U sluit de balk door te klikken op de knop met het pictogram links op de balk.
- →
Opent een nieuwe instantie van Kate. De nieuwe instantie zal identiek zijn aam de al geopende.
- → (Alt+Right)
Activeert de volgende tab in de tabbalk.
- → (Alt+Left)
Activeert de vorige tab in de tabbalk.
- → (Ctrl+Shift+T)
Heropent het laatst gesloten document of documenten.
- → (Ctrl+Alt+O)
Toont een zoekveld en een lijst met geopende bestanden in het bewerkingsgebied. Bij het invoeren van tekst in het zoekveld worden de documentnamen en document-URL's gezocht voor overeenkomende tekst. Bij het invoeren van tekst in het zoekveld kunt u de cursortoetsen Up en Down gebruiken om te navigeren in de lijstweergave. Bij indrukken van de toets Enter of dubbelklikken op een item in de list schakelt de weergave naar het document geselecteerd in de lijstweergave. Dit maakt schakelen tussen documenten gemakkelijker, als er heel wat van hen geopend zijn.
Deze actie is ook beschikbaar via het pictogram
rechtsboven het bewerkingsvenster.- → → (Shift+F8)
De focus naar het vorige open document schakelen, als u het bewerkingsgebied hebt gesplitst in meerdere weergaven.
- → → (F8)
De focus naar het volgende document brengen, als u het bewerkingsgebied hebt gesplitst in meerdere weergaven.
- → →
Het gesplitste beeld intuïtief links focus geven, met gebruik van de cursorpositie, indien nodig, om het niet dubbelzinnig te maken.
- → →
Het gesplitste beeld intuïtief rechts focus geven, met gebruik van de cursorpositie, indien nodig, om het niet dubbelzinnig te maken.
- → →
Het gesplitste beeld intuïtief bovenaan focus geven, met gebruik van de cursorpositie, indien nodig, om het niet dubbelzinnig te maken.
- → →
Het gesplitste beeld intuïtief onderaan focus geven, met gebruik van de cursorpositie, indien nodig, om het niet dubbelzinnig te maken.
- → → (Ctrl+Shift+L)
Splitst het frame (of het editor-gedeelte) in twee even grote frames, Het nieuwe frame wordt links van het huidige frame geplaatst en krijgt de focus. In het nieuwe frame wordt hetzelfde document weergegeven als in het eerste frame.
Zie ook Werken met de MDI van Kate.
- → → (Ctrl+Shift+T)
Splitst het frame (of het editor-gedeelte) in twee even grote frames, Het nieuwe frame wordt onder het huidige frame geplaatst en krijgt de focus. In het nieuwe frame wordt hetzelfde document weergegeven als in het eerste frame.
Zie ook Werken met de MDI van Kate
- → →
Dit zal het huidige actieve deelvenster verticaal opsplitsen in twee deelvensters en verplaats het huidige actieve document naar de rechter weergave.
Zie ook Werken met de MDI van Kate.
- → →
Dit zal het huidige actieve deelvenster horizontaal opsplitsen in twee deelvensters en verplaats het huidige actieve document naar de onderste weergave.
Zie ook Werken met de MDI van Kate
- → →
Omschakelen tussen horizontaal en verticaal splitsen.
- → → (Ctrl+Shift+R)
Sluit het actieve frame, die geïdentificeerd kan zijn als diegene die een knipperende cursor laat zien. Deze optie is niet beschikbaar als er slechts één frame is (het hoofdgebied voor bewerking).
Documenten worden niet gesloten door een frame te sluiten – ze blijven zowel beschikbaar in het menu als in de Bestandenlijst.
Zie ook Werken met de MDI van Kate
- → →
Sluit alle frames, behalve het actieve frame (diegene met een knipperende cursor). Deze optie is niet beschikbaar als er slechts één frame is (het hoofdgebied voor bewerking).
Documenten worden niet gesloten door een frame te sluiten – ze blijven zowel beschikbaar in het menu als in de Bestandenlijst.
- → →
Dit verbergt alle opgesplitste weergaven behalve de nu actieve.
- → →
Wanneer Gesplitst beeld is ingeschakeld, verplaatst dit de rand tussen twee verticaal gesplitste documenten verder naar links.
- → →
Wanneer Gesplitst beeld is ingeschakeld, verplaatst dit de rand tussen twee verticaal gesplitste documenten verder naar rechts.
- → →
Wanneer Gesplitst beeld is ingeschakeld, verplaatst dit de rand tussen twee horizontaal gesplitste documenten verder omhoog.
- → →
Wanneer Gesplitst beeld is ingeschakeld, verplaatst dit de rand tussen twee horizontaal gesplitste documenten verder omlaag.
Opmerking
Enkele gemeenschappelijke acties in het menu voor splitsen van weergaven zijn beschikbaar via de knop
rechtsboven het bewerkingsvenster
- →
- → → (Ctrl+Alt+Shift+F)
Toont al dan niet de weergave van de rij knoppen in de zijbalk. Dit commando heeft geen effect op de weergave van de widgets met inhoud in de zijbalk, elke zijbalk die zichtbaar is visible zal zichtbaar blijven en als u sneltoetsen toekent aan de onderstaande commando's dan zullen die natuurlijk blijven werken.
- → →
Een lijst met alle ingeschakelde plug-ins. Gebruik het keuzevakje voor elk item om de weergave van het hulpmiddel aan of uit te schakelen.
- → (F7)
Dit commando zet de weergave aan of uit van de ingebouwde commandoregel.
- → (Ctrl++)
Dit vergroot de lettertekens die getoond worden.
- → (Ctrl+-)
Dit verkleint de lettertekens die getoond worden.
- →
Dit menu toont de beschikbare kleurschema's. U kunt hier het schema wijzigen voor de huidige weergave, om het standaard schema te wijzigen moet u de pagina Lettertypen & kleuren van de instellingendialoog gebruiken.
- → → (F10)
Schakelt dynamisch regelafbreking in/uit in de huidige weergave. Dynamische regelafbreking maakt alle tekst in een weergave zichtbaar zonder de noodzaak voor horizontaal schuiven door een actuele regel, indien nodig, op meer zichtbare regels af te beelden.
- → →
Kies wanneer en hoe de dynamische-regelafbreking-indicators moeten worden getoond. Dit is alleen beschikbaar wanneer de optie Dynamische regelafbreking is aangevinkt.
- → →
Schakelt het tonen van een verticale lijn in/uit, die de positie van de regelbreedte aangeeft zoals ingesteld in de instellingendialoog. Deze functie vereist dat u een lettertype gebruikt met een echte vaste breedte.
- → → (F6)
Dit is een wisselitem. Als het is aangevinkt wordt de pictogramrand zichtbaar links van de actieve editor, en vice versa. De pictogramrand geeft de posities aan van de gemarkeerde regels in de bewerker.
- → → (F11)
Dit is een wisselitem. Als het is aangevinkt verschijnt er aan de linkerkant van de actieve editor een paneel waarin de regelnummers van het document worden getoond, en vice versa.
- → →
Schakelt de zichtbaarheid van bladwijzers in/uit (en andere markeringen) op de verticale schuifbalk. Indien ingeschakeld, worden markeringen aangegeven met een dunne lijn in de kleur van markeringen in de schuifbalk, klikken met de op de lijn laat de weergave schuiven naar een positie bij de markering.
- → →
Dit vervangt de schuifbalk door een visualisatie van het huidige document. Voor meer informatie over de schuifbalk met mini-map, zie Sectie scrollbar-minimap van het handboek KatePart.
- →
Deze opties behoren bij code invouwen.
- (F9)
Schakelt het tonen van het paneel voor invouwen in/uit aan de linkerzijde van de weergave.
Vouw het gebied dat de cursor bevat in.
Vouw het gebied dat de cursor bevat uit.
- (Ctrl+Shift+-)
Vouw alle gebieden van het bovenste niveau in het document in. Klik op het naar rechts wijzende driehoekje om alle gebieden op het hoogste niveau uit te vouwen.
- (Ctrl+Shift++)
Vouw alle gebieden van het bovenste niveau in het document uit.
Omringend vak rond niet-afdrukbare spaties tonen/verbergen.
Onder de items die hier beschreven worden, wordt elke bladwijzer in het document vermeld. De tekst bestaat uit de eerste woorden van de gemarkeerde regel. Selecteer een bladwijzer om de cursor naar het begin van die regel te verplaatsen. De editor zal te tekst opschuiven om de regel zichtbaar te maken.
- → (Ctrl+B)
Plaatst een bladwijzer op de huidige regel in het actieve document (als er al een bladwijzer is, wordt deze verwijderd).
- →
Deze opdracht verwijdert alle bladwijzers uit het document evenals de lijst met bladwijzers die onderaan dit menu-item hangt.
- → (Alt+PgUp)
Hiermee verplaatst u de cursor naar het begin van de regel met de eerste bovenliggende bladwijzer. In de tekst van het menu-item staat het regelnummer en het eerste stuk tekst op die regel. Dit item is alleen beschikbaar wanneer er een bladwijzer in een regel boven de cursor bestaat.
- → (Alt+PgDn)
Hiermee verplaatst u de cursor naar het begin van de volgende regel met een bladwijzer. In de tekst van het menu-item staat het regelnummer en het eerste stuk tekst op die regel. Dit item is alleen beschikbaar wanneer er een bladwijzer in een regel onder de cursor bestaat.
Dit menu bevat items voor het gebruiken en beheren van Kate-sessies. Voor meer informatie, lees Sessies gebruiken.
- →
Maakt een nieuwe lege sessie aan. Alle nu geopende bestanden zullen worden gesloten.
- →
Open een bestaande sessie. De dialoog van de sessiekiezer wordt getoond om u er een te laten kiezen.
- →
Dit submenu laat u een bestaande sessie openen.
- →
Sla de huidige sessie op. Als de sessie anonymous is, dan wordt u gevraagd om een sessienaam.
- →
De huidige sessie opslaan onder een nieuwe naam. U wordt gevraagd om de naam.
- →
Toont de dialoog van de sessiebeheerder die u in staat stelt om te hernoemen en sessies te verwijderen.
- →
Stel het huidige document in op Alleen lezen. Dit voorkomt dat er tekst wordt toegevoegd of wijzigingen in de opmaak worden aangebracht.
- →
Kies het gewenste schema voor het bestandstype voor het actieve document. Dit overschrijft het globale bestandstype ingesteld met → op het tabblad Bestandstypen voor het huidige document.
- →
Kies het gewenste accentueringsschema voor het actieve document. Dit overschrijft alleen voor het huidige document de globale accentueringregels ingesteld bij → .
- →
Kies de gewenste manier van inspringen voor het actieve document. Dit overschrijft alleen voor het huidige document de globale inspringmodus ingesteld bij → .
- →
U kunt de standaardcodering, ingesteld bij → in de pagina Openen/opslaan om een andere codering in te stellen voor het huidige document. De codering die u hier instelt zal alleen gelden voor het huidige document.
- →
Kies de gewenste regeleindemodus voor het actieve document. Dit overschrijft alleen voor het huidige document de globale einderegelmodus ingesteld bij → .
- →
Door deze actie aan te vinken kunt u expliciet een bytevolgordemarkering voor documenten gecodeerd in unicode toevoegen. De bytevolgordemarkering (BOM) is een Unicode-teken dat gebruikt wordt om de "endianness" (byte-volgorde) van een tekstbestand of stream aan te geven. Zie voor meer informatie: Byte Order Mark.
- →
Dit submenu bevat een lijst met alle acties in scripts. De lijst kan gemakkelijk worden gewijzigd door uw eigen scripts te schrijven. Op deze manier kan Kate worden uitgebreid met gebruikergedefinieerde hulpmiddelen.
Er is een complete lijst van scripts in de documentatie van KatePart.
- → (Ctrl+Space)
Roep handmatig commando-aanvulling aan, meestal door een sneltoets te gebruiken die verbonden is met deze actie.
- →
(Ctrl+9) en (Ctrl+8) vullen de huidige getypte tekst aan door vanaf de huidige cursorpositie vooruit en achteruit te zoeken naar woorden die overeenkomen. geeft een lijst met overeenkomsten.
- → → (Ctrl+Shift+O)
Wanneer ingeschakeld is, wordt tijdens het typen fout gespelde tekst onderstreept.
- → →
Hiermee start u het programma spellingcontrole, een programma ontworpen om de gebruiker te helpen spelfouten te corrigeren.
Voor meer informatie over hoe spellingcontrole in KDE te gebruiken, zie de sectie Spelling controleren van de documentatie KDE Fundamentals .
- → →
Hiermee start u het programma spellingcontrole, maar het begint bij de cursor in plaats van aan het begin van het document.
- → →
Controleert de spelling van de huidige selectie.
- → →
Toont onderaan het venster een keuzelijst met alle beschikbare woordenboeken voor de spellingcontrole. Hierdoor kunt u eenvoudig wisselen van spellingcontrole-woordenboek bijv. voor automatische spellingcontrole van tekst in verschillende talen.
Kate heeft de standaard KDE-menu-items en , lees voor meer informatie de secties over het Menu Instellingen en Help Menu van de KDE Fundamentals met deze extra items:
- →
Een verschillend kleurschema gebruiken uit de algemene kleurschema's van het systeem beschreven in de module Systeeminstellingen Kleuren.
- →
Tabbladen zijn verplaatsbaar met de en hebben acties in het contextmenu om documenten te sluiten, het pad te kopiëren naar het klembord of de map van het document in de bestandsbeheerder te openen. Met de knop
wordt schakelen tussen documenten gemakkelijk. Klik op de knop
met de om een menu te openen met acties uit het menu . - →
Indien ingeschakeld wordt het volledige pad van het actieve document getoond, anders alleen de bestandsnaam. Dit is nuttig als u verschillende bestanden met dezelfde bestandsnaam om ze te onderscheiden.
Kate biedt verschillende mogelijkheden om de toepassing te verfijnen om zich te gedragen naar uw wensen. De meest belangrijke zijn:
- De configuratiedialoog
De hoofdinstellingen, bieden u de mogelijkheid om de toepassing Kate, de tekstbewerkercomponent en het gebruik van plugins te configureren.
- Het menu
Biedt u de mogelijkheid om vaak gebruikte instellingen te wijzigen en om instellingsdialogen op te starten.
- Het menu
Biedt u de mogelijkheid het huidige frame te splitsen, eveneens om pictogrammen te tonen en een regelnummerpaneel voor het huidige in bewerking zijnde document.
De ingebedde terminal gebruikt de configuratie gedefinieerd in de Systeeminstellingen en kan ook worden ingesteld door met de te klikken om een contextmenu weer te geven.

De instellingendialoog van Kate toont links een boomstructuur met onderwerpen en rechts een instellingenpagina overeenkomend met het geselecteerde onderwerp.
De instellingen zijn onderverdeeld in twee groepen, namelijk:
Deze groep bevat pagina's om de hoofd toepassing Kate in te stellen
Deze sectie bevat een paar globale opties voor Kate
- Gedrag
- Elk document in zijn eigen venster openen
Indien ingeschakeld zal elk document geopend worden in zijn eigen venster. Zo niet, elk document zal geopend worden in een nieuw tabblad in het huidige venster.
- Naar uitvoerweergave omschalen op type bericht
Deze optie biedt configuratie wanneer Kate een uitvoerpaneel zou moeten tonen afhankelijk van het type uitvoer van de actie.
Het is mogelijk om te kiezen tussen , (bij fout), (bij waarschuwing of bovenstaand), (bij informatie of bovenstaand) en (bij log of bovenstaand).
- Een aparte dialoog gebruiken voor behandeling van extern gewijzigde bestanden
Indien ingeschakeld zal Kate u met een modale dialoog melden, wanneer er bestanden buiten de toepassing om zijn gewijzigd, op het moment dat het hoofdvenster invoerfocus krijgt. U zult in staat zijn om verschillende gewijzigde bestanden tegelijk af te handelen, u kunt gewijzigde bestanden in groepen herladen, opslaan of verwijderen.
Indien niet ingeschakeld zal Kate u individueel vragen wat te doen voor elk gewijzigd bestand alleen wanneer de weergave van dat bestand focus krijgt.
- Snel openen
- Overeenkomstmodus
De lijstmodus voor het hulpmiddel Snel openen instellen. De bestanden kunnen overeenkomen met hun naam of met hun pad.
- Lijstmodus
De lijstmodus voor het hulpmiddel Snel openen instellen. Het is mogelijk te kiezen uit Huidige projectbestanden en Alle projectbestanden.
- Tabbladen
- Aantal tabbladen beperken
Het maximum aantal tabbladen instellen. Kies als u dit aantal niet wilt beperken.
- Tabbladen automatisch verbergen
Indien geactiveerd zullen tabbladen verborgen zijn als één document open is.
- Sluitknop tonen
Indien geactiveerd zal elk tabblad een sluitknop tonen.
- Tabs expanderen
Indien geactiveerd nemen tabs zoveel mogelijk ruimte in.
- Dubbelklikken opent een nieuw document
Indien geactiveerd opent dubbelklikken een nieuw document.
- Middel-klik sluit een document
Indien geactiveerd sluit middel-klikken een nieuw document.
- Tabblad schuiven toestaan
Indien geactiveerd zal dit schuiven in de tabbladbalk toestaan wanneer het aantal tabbladen groot is.
- Puntjes invoegen in tabbladtekst
Indien geactiveerd kunnen in tabbladtekst puntjes worden gevoegd.
- Tabbladen
Deze sectie bevat opties die verband houden met het gebruik van sessies.
- Gedrag bij programma opstarten
Selecteert hoe u wilt dat Kate zich gedraagt bij opstarten. Deze instelling kan overschreven worden door te specificeren wat te doen op de commandoregel.
- Nieuwe sessie starten
Met deze optie zal Kate een nieuwe sessie zonder naam starten wanneer u de toepassing opstart.
- Laatst gebruikte sessie laden
Kate zal de meest recent geopende sessie bij opstarten gebruiken. Dit is goed als u dezelfde sessie altijd wilt gebruiken of zelden omschakelt.
- Een sessie handmatig kiezen
Kate zal een kleine dialoog tonen die u uw sessie met voorkeur laat kiezen of de standaard sessie als er geen is opgeslagen. Dit is het standaard gedrag. Leuk als u frequent heel wat verschillende sessies gebruikt.
- Gedrag bij toepassing opstarten/afsluiten
Hoe u wilt dat Kate zich gedraagt bij afsluiten. Het is mogelijk te definiëren wat Kate zou moeten doen Automatisch opslaan en herstellen.
- Nieuw aangemaakte niet-opgeslagen bestanden
Met dit item geactiveerd zal Kate automatisch alle nieuw aangemaakte niet opgeslagen bestanden opslaan.
- Bestanden met niet opgeslagen wijzigingen
Dit item biedt het configureren van Kate voor automatisch opslaan van alle bestanden met niet opgeslagen wijzigingen bij afsluiten.
- Kate helemaal sluiten wanneer het laatste bestand wordt gesloten
Indien geactiveerd zal Kate afsluiten wanneer het laatste in bewerking zijnde bestand wordt gesloten, anders zal een lege pagina geopend worden zodat u een nieuw bestand kunt beginnen.
- Sessie-elementen
- Vensterconfiguratie insluiten
Indien ingeschakeld zal Kate de vensterconfiguratie van elke sessie opslaan.
- Meta-informatie na sessies behouden
Indien ingeschakeld zal Kate metagegevens zoals bladwijzers en configuratie van de sessie zelfs wanneer u uw documenten sluit. De gegevens zullen worden gebruikt als het document ongewijzigd is wanneer het wordt heropend.
- Ongebruikte meta-informatie verwijderen na
Stelt het maximum aantal dagen in om meta-informatie voor eerder geopende bestanden te bewaren. Dit helpt om de database van meta-informatie op een redelijke grootte te houden.
Elke wijziging aan de sessiegegevens (geopende bestanden en indien ingeschakeld, vensterconfiguratie) zal altijd worden opgeslagen.
Deze pagina levert een lijst met geïnstalleerde plug-ins voor de toepassing Kate. Elke plug-in wordt gerepresenteerd door zijn naam en een korte beschrijving. U kunt het keuzevakje activeren met een item om de plug-in, die het representeert te activeren.
Als een plug-in instellingsopties levert, dan zal er een sectie, als een subpagina van deze pagina, verschijnen om hiertoe toegang te verlenen.
Voor meer informatie over beschikbare plug-ins, zie Hoofdstuk 4, Werken met plug-ins.
Voor informatie over deze sectie van de instellingendialoog, zie het Instellingensectie van de editor-component van het handboek van KatePart.
Voor informatie over het gebruik van documentvariabelen met Kate, zie de Sectie instellen met documentvariabelen van het handboek KatePart.
Kate. Programma copyright 2000, 2001, 2002 - 2005 het Kate-ontwikkelingsteam.
Het Kate-team:
- Christoph Cullmann
(cullmann AT kde.org) Projectbeheerder & kernontwikkelaar
- Anders Lund
(anders AT alweb.dk) Kernontwikkelaar, Perl syntaxis-accentuering, documentatie
- Joseph Wenninger
(kde AT jowenn.at) Kernontwikkelaar, syntaxis-accentuering
- Michael Bartl
(michael.bartl1 AT chello.at) Kernontwikkelaar
- Phlip
(phlip_cpp AT my-deja.com) De project-compiler
- Waldo Bastian
(bastian AT kde.org) Het schitterende buffersysteem
- Matt Newell
(newellm AT proaxis.com) Tests...
- Michael McCallum
(gholam AT xtra.co.nz) Kernontwikkelaar
- Jochen Wilhemly
(digisnap AT cs.tu-berlin.de) Auteur van KWrite
- Michael Koch
(koch AT kde.org) Omzetting van KWrite naar KParts
- Christian Gebauer
(gebauer AT bigfoot.com) Niet opgegeven
- Simon Hausmann
(hausmann AT kde.org) Niet opgegeven
- Glen Parker
(glenebob AT nwlink.com) Ongedaan-maken-geschiedenis van KWrite, integratie van KSpell
- Scott Manson
(sdmanson AT alltel.net) XML-syntaxisaccentuering in KWrite
- John Firebaugh
(jfirebaugh AT kde.org) Verscheidene patches
- Dominik Haumann
(dhdev AT gmx.de) Ontwikkelaar, syntaxis-accentuering
Vele anderen hebben bijgedragen:
- Matteo Merli
(merlim AT libero.it) Syntaxis-accentuering voor RPM Spec-bestanden, Diff en meer
- Rocky Scaletta
(rocky AT purdue.edu) Syntaxis-accentuering voor VHDL
- Yury Lebedev
Syntaxis-accentuering voor SQL
- Chris Ross
Syntaxis-accentuering voor Ferite
- Nick Roux
Syntaxis-accentuering voor ILERPG
- John Firebaugh
Syntaxis-accentuering voor Java™ en nog veel meer
- Carsten Niehaus
Syntaxis-accentuering voor LATEX
- Per Wigren
Syntaxis-accentuering voor Make-bestanden, Python
- Jan Fritz
Syntaxis-accentuering voor Python
- Daniel Naber
Kleine bugfixes, XML-plugin
Documentatie copyright 2000,2001 Seth Rothberg (sethmr AT bellatlantic.org)
Documentatie copyright 2002, 2003, 2005 Anders Lund (anders AT alweb.dk)
Op- of aanmerkingen over de vertalingen van de toepassing en haar documentatie kunt u melden op http://www.kde.nl/bugs.
Dit document is vertaald in het Nederlands door Niels Reedijk.
Dit document is vertaald in het Nederlands door Tom Albers.
Dit document is vertaald in het Nederlands door Rinse de Vries.
De vertaling werd nagelezen door Rinse de Vries.
De vertaling werd nagelezen door Natalie Koning.
Deze documentatie valt onder de bepalingen van de GNU vrije-documentatie-licentie.
Deze toepassing valt onder de bepalingen van de GNU General Public License.
Voor informatie over het gebruik van reguliere expressies in Kate, zie de appendix Reguliere expressies in het handboek van KatePart.
































