
Als je KDE of een distributie zoals Manjaro, openSUSE of Fedora met Plasma gebruikt, ben je vroeg of laat ongetwijfeld tegen dit probleem aangelopen. KWrite en Kate in het applicatiemenuOp het eerste gezicht lijken ze bijna hetzelfde, en veel mensen vragen zich dan ook af waarom beide geïnstalleerd zijn, of het dezelfde app is, of dat de ene verwijderd kan worden zonder de andere te verwijderen.
De realiteit is dat KWrite en Kate Het zijn twee zeer hechte "broers".Ze delen vrijwel dezelfde interne engine, maar zijn ontworpen voor verschillende doeleinden: de ene als een lichte en eenvoudige editor, en de andere als een geavanceerde bewerkingsomgeving voor programmeren en grote projecten. Laten we eens nader bekijken wat ze onderscheidt, wat ze gemeen hebben, waar ze vandaan komen en wanneer het de moeite waard is om ze te gebruiken.
Oorsprong en relatie tussen KWrite en Kate
Gedurende ongeveer twintig jaar, KWrite en Kate zijn in het KDE-ecosysteem altijd al onlosmakelijk met elkaar verbonden geweest.Historisch gezien was KWrite de eerste: een teksteditor met één venster (SDI) die in vroege versies van KDE werd meegeleverd als het typische "krachtige" kladblok.
Na verloop van tijd besloot een van de belangrijkste KDE-ontwikkelaars om te creëren Kate als een variant met meerdere documenten (MDI)Kate is ontworpen om te werken met meerdere tabbladen, meer panelen en programmeergerichte functies, en is expliciet ontwikkeld als de krachtigste versie van KWrite voor meerdere documenten.
Voor vele jaren, Beide projecten hebben een enigszins afzonderlijk ontwikkelingspad gevolgd.KWrite veranderde weinig: het bleef een eenvoudige editor, met af en toe verbeteringen en bugfixes, maar zonder uit te groeien tot een omvangrijk softwarepakket. Kate daarentegen kreeg nieuwe implementaties van functies zoals het tabsysteem, sessiebeheer, geavanceerde plug-ins, een geïntegreerde terminal en projectondersteuning.
Het basisbewerkingssysteem dat ze allebei gebruikten, was echter hetzelfde: de KTextEditor-bibliotheek van het KDE-frameworkDankzij dit bieden zowel KWrite als Kate een zeer krachtige bewerkingservaring, die veel beter is dan die van een doorsnee kladblok, ook al ziet KWrite er visueel misschien "eenvoudig" uit.
Eén enkele codebase: wanneer Kate KWrite "opeet".
De afgelopen jaren is er een belangrijke beslissing genomen met betrekking tot het project: Vermijd dubbele code en laat KWrite de codebasis van Kate direct hergebruiken.door de meer geavanceerde functies uit te schakelen. Dit idee ontstond toen ze tabbladen aan KWrite wilden toevoegen.
Een ontwikkelaar (Waqar, zeer actief in het project) begon met de implementatie. wimpersteun in KWriteHet probleem was dat de tabbladen in Kate's repository al meerdere keren waren herschreven, zowel in de core als via plugins, en het had geen zin om nog een implementatie toe te voegen die op de lange termijn onderhouden zou moeten worden.
Om die dubbeling te voorkomen, besloot het team dat KWrite zou geen onafhankelijke codebase hebben.maar zou dezelfde kern gebruiken als Kate met een "afgesneden" modus. KWrite is nu gebouwd als een soort Kate heeft het vereenvoudigd zonder sessies, zonder plug-ins en met een uiterst overzichtelijke interface.Technisch gezien is het belangrijkste verschil tussen de twee de hoofdfunctie en een aantal controles in de gedeelde code om delen van de interface te activeren of te verbergen.
Dankzij deze verandering, Ongeveer duizend regels KWrite-specifieke code zijn verwijderd. Er hoefden slechts een paar regels code aan de bestaande code te worden toegevoegd. Het resultaat is dat beide editors vrijwel alle logica delen, inclusief het moderne tabsysteem, het parseren van opdrachtregelparameters en het basisbewerkingsgedrag.
Hoewel ze de interne basis hebben verenigd, KWrite heeft nog steeds een eigen persoonlijkheid.Het deelt geen instanties tussen vensters, het heeft geen sessiebeheer, het laadt geen geavanceerde plug-ins, het biedt geen geïntegreerde terminal of servertaal (LSP), en nog veel meer. Als je die functies wilt, moet je voor Kate kiezen.
KTextEditor: de universele bewerkingsengine
Zowel KWrite als Kate Ze maken gebruik van dezelfde bewerkingsbibliotheek, KTextEditor., onderdeel van het KDE-framework. Deze bibliotheek biedt bijna alle krachtige bewerkingsfunctionaliteit die je in beide programma's ziet, en wordt ook gebruikt door andere applicaties zoals KDevelop en andere KDE IDE's.
Dit betekent dat De daadwerkelijke ervaring van het schrijven, selecteren, markeren en bewerken van tekst is vrijwel identiek. Tussen KWrite en Kate. Als je eenmaal aan de ene gewend bent, zul je geen problemen ondervinden met de andere of zelfs met KDevelop, omdat het gedrag van het tekstgebied consistent is in de hele softwarefamilie.
Dankzij KTextEditor hebben beide editors Syntaxmarkering voor talloze talen, analyse van specifieke modi (bijvoorbeeld, Markdown-ondersteuningHTML, Python, C, enz.), bewerkingshulpmiddelen zoals automatische inspringing, regelnummering, documentminiatuurweergave en andere functies die veel verder gaan dan een eenvoudige editor.
Installatie en distributie op verschillende systemen
Over het algemeen geldt dat als je KDE Plasma gebruikt, Hoogstwaarschijnlijk is KWrite al standaard geïnstalleerd.Kate, daarentegen, moet je het mogelijk handmatig installeren, afhankelijk van de lay-out.
Op RPM-gebaseerde systemen zoals Fedora is het zo simpel als het uitvoeren van iets als sudo dnf install kwrite kateIn andere distributies hebben de pakketten dezelfde of zeer vergelijkbare namen. Bovendien, Beide zijn onafhankelijk van elkaar gepubliceerd.KWrite is beschikbaar op apps.kde.org/kwrite en Kate op apps.kde.org/kate.
Binnen het KDE-ecosysteem, Je kunt ze installeren via Discover, rechtstreeks op je bureaublad.KWrite wordt ook gedistribueerd als Flatpak voor omgevingen waar je de voorkeur geeft aan dit type zelfstandig pakket. In Manjaro zie je ze bijvoorbeeld in Pamac als aparte programma's, hoewel ze grotendeels dezelfde broncode en afhankelijkheden delen.
Een belangrijk detail is dat Ze zijn niet van elkaar afhankelijk als pakketten.Met andere woorden, je kunt alleen KWrite, alleen Kate, of beide tegelijk gebruiken zonder dat ze elkaar in de weg zitten, zonder dat configuraties door elkaar raken en zonder directe afhankelijkheidsconflicten. Ze werken als "brave tweelingen".
KWrite: een lichtgewicht editor, maar absoluut niet goedkoop.
Als je KWrite opent en iets dergelijks verwacht, zoals memo pad extreem beperkt, je zult verbaasd zijn, want Het is een lichtgewicht editor, maar met behoorlijk wat geavanceerde functies.Je kunt het programma starten vanuit het toepassingsmenu en direct beginnen met schrijven, waarbij je individuele teksten, notities, korte scripts, enzovoort kunt opslaan.
Tot de functies die er traditioneel aan worden toegeschreven behoren: HTML-export, vergrendeling van de selectiemodus, code-tracking en bladwijzersDit alles maakt het zeer nuttig voor zowel het maken van aantekeningen als het informeel bewerken van code. Het biedt ook automatische woordaanvulling en andere schrijfhulpmiddelen.
Het heeft Configureerbare syntaxmarkering voor meerdere talenHet biedt ook de mogelijkheid om de modus voor regeleinden te selecteren (Unix, Windows, Macintosh) en de tekstcodering te kiezen. Hoewel het de codering van het bestand niet altijd automatisch detecteert en vaak de systeemstandaard gebruikt bij het openen van bestanden, kunt u deze indien nodig handmatig wijzigen.
Een andere leuke functie is dat Het maakt het mogelijk om met bestanden op afstand te werken via protocollen zoals FTP of fish.Integratie met de KDE-netwerkinfrastructuur. Hierdoor is het eenvoudig om bestanden op servers te bewerken zonder dat er ingewikkelde externe oplossingen hoeven te worden ingesteld.
KWrite biedt ook de mogelijkheid om Gebruik verschillende componenten dankzij de KParts-technologie. (In oudere versies was dit een belangrijke innovatie.) Hierdoor kon bijvoorbeeld een Konsole-console, of andere componenten, in de editor worden ingebed. Later werd de Kate-engine als standaardteksteditor aangenomen, waardoor deze integratie werd versterkt.
In de historische context van KDE, KWrite maakte deel uit van het kdebase-pakket. En sinds kort wordt het samen met Kate gedistribueerd, met de code in een aparte submap van de repository. Dit alles versterkt het idee dat het geen volledig apart project is, maar eerder een ander aspect van dezelfde onderliggende technologie.
Gemeenschappelijke functies: bladwijzers, markeren en meer.
Omdat zowel KWrite als Kate gebaseerd zijn op KTextEditor, delen ze een aantal tools die een aanzienlijk verschil maken ten opzichte van zeer eenvoudige editors. Bijvoorbeeld: Je kunt tijdelijke bladwijzers gebruiken om snel door het document te navigeren..
Met een simpele sneltoets, zoals Druk op Ctrl+B om een ​​bladwijzer te maken.Je kunt ze vervolgens openen via het bladwijzermenu. Ze worden niet in het bestand zelf opgeslagen (ze wijzigen de inhoud niet), maar tijdens het werken zijn ze een elegante manier om belangrijke gedeeltes te markeren. Veel praktischer dan willekeurige woorden zoals 'foobar' in de tekst te laten staan ​​en er later naar te moeten zoeken, wat je uiteindelijk misschien vergeet te verwijderen.
Een andere belangrijke functie is de syntaxmarkering en documentmodiVia het menu 'Extra' kunt u de automatische spellingcontrole inschakelen, waarbij fouten worden onderstreept, en specifieke modi kiezen voor bepaalde formaten: Markdown, HTML, Python, C/C++, enz. Elke modus gebruikt een ander markeerschema om u te helpen de inhoud te lezen en beter te begrijpen.
Als je specifieker wilt zijn, kun je Kies direct het type markering, ongeacht de modus.Dit is handig als je een specifiek visueel schema wilt afdwingen. Dankzij deze flexibiliteit kan dezelfde editor zowel gebruikt worden voor het schrijven van platte tekst als voor het snel debuggen van een codefragment.
Daarnaast waarderen veel gebruikers dit in het bijzonder. Het documentoverzicht bevindt zich aan de rechterkant.Een soort verticale miniatuurweergave van de volledige tekst. Hoewel het klein lijkt, is het verrassend handig om secties, titels of codefragmenten te vinden en met één klik naar het betreffende gedeelte te springen.
Wat biedt Kate dat KWrite niet biedt?
De grote vraag is: als "puur en simpel" tekstbewerking vrijwel hetzelfde is, Waarom overstappen van KWrite naar Kate? Het antwoord ligt in alles wat de tekst omringt wanneer je als programmeur werkt of aan complexe projecten: panelen, plug-ins, sessies en de terminal.
Kate voegt er nog één toe In de zijbalk kunt u het bestandssysteem of een projectmap bekijken.Bovendien ondersteunt het het concept "project", waardoor het bestanden aan elkaar kan koppelen (bijvoorbeeld een .cpp-bestand aan het bijbehorende .h-bestand, of meerdere configuratiebestanden van dezelfde module) en je een slimmere navigatie daartussen biedt.
Bevat ook een geïntegreerde terminal die wordt geactiveerd met een toets (meestal F4)Hiermee kunt u opdrachten uitvoeren, compileren, scripts starten of consoletools gebruiken zonder de editor te verlaten. U kunt zelfs de inhoud van het document rechtstreeks naar de terminal sturen, wat aanzienlijk veel tijd bespaart bij de ontwikkeling en het schrijven van scripts.
Een ander pluspunt is de sessiebeheerKate kan verschillende configuraties van vensters, tabbladen, geopende projecten en voorkeuren opslaan, zodat je verschillende profielen hebt voor elk type werk (bijvoorbeeld een omgeving voor C++, een andere voor webbewerking, een andere voor documentatie, enzovoort).
Ook Kate Het ondersteunt een breed scala aan plugins. Deze extensies voegen geavanceerde functies toe: integratie met taalservers (LSP's) voor intelligente automatische aanvulling, statische analyse, verbeterde terminals, debuggen, taalspecifieke tools en nog veel meer. Dit ecosysteem van extensies maakt van Kate in de praktijk een soort mini-IDE voor veel ontwikkelaars.
Om al deze redenen beschrijven veel gebruikers Kate als een zeer complete tool voor programmeursKWrite wordt weliswaar gezien als de "schone" editor voor snelle of eenvoudige taken, maar beschikt desondanks over krachtige opties.
Praktische verschillen in interface en gedrag
Als je de twee vensters naast elkaar vergelijkt, realiseer je je dat De interface van KWrite en de interface van Kate zijn vrijwel identiek. Ze delen elementen zoals een werkbalk, tekstgebied, mini-zijvenster en basismenu's. Het belangrijkste verschil zit hem in de extra panelen en weergaven.
In KWrite Je ziet de zijaanzichten van de gereedschappen niet. Deze functies zijn wel degelijk aanwezig in Kate, bijvoorbeeld in de projectverkenner, de gedockte terminal en andere panelen die zijn afgeleid van plug-ins. De standaardinstellingen voor de werkbalk en de URL-balk (bestandspad) veranderen ook; deze kunnen afhankelijk van de modus worden in- of uitgeschakeld.
Op gedragsniveau is KWrite Het deelt geen instanties of sessies.Elke keer dat je het opent, werkt het als een zelfstandige editor en bemoeit het zich niet met geavanceerd sessiebeheer. Het laadt ook geen complexe plug-ins, waardoor je niet kunt profiteren van sommige van de "geavanceerde" functies die Kate biedt.
In beide gevallen kunt u gebruikmaken van tabbladen met zeer vergelijkbaar gedragHet openen van meerdere documenten, snel openen, het opsplitsen van de weergave in panelen, enzovoort, is een aanzienlijke verbetering ten opzichte van de strikte versie van KWrite met één venster van 20 jaar geleden. Dankzij het delen van code met Kate kan KWrite nu tabbladen ondersteunen zonder de andere functies te belasten.
Praktisch gebruik: van lichte bewerking tot professionele ontwikkeling
Onder KDE-gebruikers bestaan ​​vrij duidelijke meningen over wanneer Het is logisch om KWrite, Kate of zelfs KDevelop te gebruiken.Over het algemeen wordt KWrite gezien als de lichtste, KDevelop als de zwaarste, gericht op grote projecten, en Kate als iets daartussenin, ideaal voor het dagelijkse werk van programmeurs die geen mega-IDE nodig hebben.
Veel mensen die nieuw zijn met KDE vragen zich af welke ze moeten kiezen, en het gebruikelijke antwoord is zoiets als dit: Als je alleen tekst wilt bewerken, aantekeningen wilt maken of scripts of configuratiebestanden wilt afspelen, is KWrite meer dan voldoende.Als je regelmatig programmeert, met veel bestanden werkt en functies zoals projecten, een geïntegreerde terminal en sessies op prijs stelt, dan is Kate een veel betere keuze.
Er zijn zelfs gebruikers die, hoewel ze KDE niet als hun primaire desktopomgeving gebruiken, Ze blijven KWrite gebruiken omdat ze de balans tussen eenvoud en kracht waarderen.Een typisch voorbeeld is iemand in XFCE die bepaalde KDE-applicaties zoals Krusader of KWrite onderhoudt omdat die essentieel voor hem zijn, en de afhankelijkheden aanpast om wat hij als "overbodig" beschouwt te vermijden (componenten zoals kactivities, knewstuff of kuserfeedback als hij er geen gebruik van maakt).
Er zijn ook gevallen bekend van mensen die het proberen Zoek naar alternatieven voor KWrite die niet van KDE zijn. (zoals bepaalde losstaande GTK- of Qt-editors) en tijdens het testen ontdekken ze dat deze essentiële functies missen, zoals de blokbewerkingsmodus (gedeeltelijke verticale selectie van regels) of robuust gedrag bij het becommentariëren van meerdere regels. Totdat ze een vervanging vinden die al deze functies biedt, blijven ze KWrite als hun primaire tool gebruiken.
Andere editors in de KDE-omgeving: KDevelop en KEdit
Binnen het KDE-ecosysteem draait het niet alleen om KWrite en Kate; Er zijn ook andere toepassingen gerelateerd aan tekstbewerking en -ontwikkeling.zoals KDevelop of het aloude KEdit.
KDevelop is een Volledige IDE, veel zwaarderHet is ontworpen voor grote projecten, complexe refactoring, geïntegreerde debugging, wizards en een breed scala aan tools, en maakt gebruik van KTextEditor als bewerkingsengine. De schrijfervaring zal dus vertrouwd aanvoelen als je Kate of KWrite gewend bent, maar qua interface en benodigde resources bevindt het zich in een compleet andere categorie.
KEdit, van zijn kant, Het bestaat nog steeds in sommige omgevingen als alternatieve editor.Een van de historische kenmerken is de ondersteuning voor bidirectionele tekst, relevant voor talen die van rechts naar links worden gelezen. Het maakte ooit deel uit van het kdeaddons-pakket en vervulde een specifieke niche op het gebied van teksttypen.
In elk geval werkt de gemiddelde KDE-gebruiker tegenwoordig meestal binnen KWrite als een lichtgewicht editor, Kate als geavanceerde bewerkingsomgeving En als je nog meer nodig hebt, is er KDevelop als gespecialiseerde IDE.
Licenties, technologie en onderhoud
Op technisch vlak is KWrite (en daarmee ook Kate) Het is geschreven in C++ en maakt gebruik van Qt voor de interface. en wordt gedistribueerd onder de LGPL-licentie. Dit maakt het vrije software, integreerbaar in andere projecten en onderhouden door een vrij groot team van ontwikkelaars binnen de KDE-gemeenschap.
Hun codeopslagplaatsen zijn gehost op de KDE-infrastructuur en gespiegeld op platforms zoals GitHub.Dit geldt zowel voor de editor zelf als voor de onderliggende frameworks, zoals KTextEditor en KSyntaxHighlighting. Er zijn ook bugtrackingsystemen waar fouten kunnen worden gemeld en de oplossing ervan kan worden gevolgd.
Het team moedigt dat voortdurend aan nieuwe medewerkers sluiten zich aan bij de ontwikkelingOf het nu gaat om het toevoegen van functies, het verfijnen van details of het verbeteren van de prestaties, het feit dat KWrite en Kate nu bijna al hun code delen, betekent dat elke correctie of verbetering automatisch van invloed is op beide editors. Dit vermindert dubbel werk en verhoogt de algehele kwaliteit.
In de praktijk vertaalt zich dit in Elke kleine verbetering die aan de repository wordt toegevoegd, komt het hele KDE-editor-ecosysteem ten goede.Niet alleen voor Kate en KWrite, maar ook voor de applicaties die hun frameworks gebruiken, waarmee hun rol als referentie binnen de Plasma-desktopomgeving wordt versterkt.
Als we het geheel bekijken, is het voor een eindgebruiker van KDE moeilijk om vandaag de dag een betere balans te vinden tussen... een lichtgewicht maar krachtige editor zoals KWrite y een veelzijdig ontwikkelt hulpmiddel zoals Katevooral omdat ze allebei parallel draaien, dezelfde basis delen, elkaar niet tegenwerken en alles bestrijken, van het eenvoudigste gebruik van Kladblok tot zeer veeleisende programmeerworkflows.