KWrite срещу Kate: реални разлики между двата KDE редактора

  • KWrite и Kate споделят един и същ енджин KTextEditor, но са насочени към различни приложения: леко редактиране срещу усъвършенствана среда за програмиране.
  • Унифицирането на кода позволи на KWrite да използва повторно базата на Kate, като активира или деактивира функции като сесии, плъгини или странични панели.
  • KWrite предлага мощен набор от функции в опростен формат, докато Kate се разширява с проекти, интегриран терминал и управление на сесии.
  • И двата са интегрирани в екосистемата на KDE като допълващи се редактори, възползвайки се от едни и същи подобрения и активно поддържани от общността.

KWrite срещу Kate

Ако използвате KDE или дистрибуция като Manjaro, openSUSE или Fedora с Plasma, рано или късно ще се сблъскате с... KWrite и Kate в менюто с приложенияНа пръв поглед изглеждат почти еднакви и всъщност много хора се чудят защо са инсталирани и двете, дали са едно и също приложение или дали едното може да бъде изтрито, без да се изтрива другото.

Реалността е, че KWrite и Kate Те са двама много близки „братя“.Те споделят почти целия вътрешен енджин, но са проектирани за различни приложения: единият като лек и опростен редактор, а другият като разширена среда за редактиране за програмиране и големи проекти. Нека разгледаме по-отблизо какво ги различава, какво е общото между тях, откъде идват и кога си струва да се използва всеки един от тях.

Произход и връзка между KWrite и Kate

В продължение на около двадесет години, KWrite и Kate винаги са вървели ръка за ръка в екосистемата на KDE.В исторически план, KWrite е първият: текстов редактор с един прозорец (SDI), който се предлага в ранните версии на KDE като типичен „захранван“ бележник.

С течение на времето един от основните разработчици на KDE реши да създаде Кейт като вариант за множество документи (MDI)Проектирана да работи с множество раздели, повече панели и функции, ориентирани към програмиране, Kate е създадена изрично като най-мощната версия на KWrite за работа с множество документи.

В продължение на много години, И двата проекта следваха донякъде отделни пътища на развитие.KWrite се промени малко: той остана прост редактор, с от време на време подобрения и корекции на грешки, но без да се превърне в огромен „пакет“. Междувременно Kate получи повторни имплементации на функции като система от раздели, управление на сесии, разширени плъгини, интегриран терминал и поддръжка на проекти.

Основната система за редактиране, която и двамата използват, обаче е една и съща: библиотеката KTextEditor на рамката KDEБлагодарение на това, както KWrite, така и Kate предлагат много мощно изживяване при редактиране, далеч по-добро от типичния обикновен бележник, въпреки че KWrite може да изглежда „обикновен“ визуално.

Единна кодова база: когато Кейт „изяжда“ KWrite

През последните години беше взето важно решение относно проекта: Избягвайте дублиране на код и накарайте KWrite директно да използва повторно кодовата база на Kateчрез деактивиране на по-разширените функции. Тази идея възникна, когато искаха да добавят раздели към KWrite.

Разработчик (Waqar, много активен в проекта) започна да внедрява поддръжка на мигли в KWriteПроблемът беше, че разделите в хранилището на Кейт вече бяха пренаписани няколко пъти, както в ядрото, така и чрез плъгини, и нямаше смисъл да се добавя още една имплементация, която би изисквала дългосрочна поддръжка.

За да се избегне това дублиране, екипът реши, че KWrite няма да има независима кодова базано би използвал същото ядро ​​като Kate с „изрязан“ режим. KWrite сега е изграден като вид Кейт опрости без сесии, без плъгини и с най-чистия интерфейсТехнически, разликите между двете са главно основната функция и някои проверки в споделения код за активиране или скриване на части от интерфейса.

Благодарение на тази промяна, Приблизително хиляда реда код, специфичен за KWrite, бяха премахнати. И само няколко реда код трябваше да бъдат добавени към общия код. Резултатът е, че и двата редактора споделят почти цялата си логика, включително съвременната система с табулации, анализирането на параметри от командния ред и основното поведение при редактиране.

Въпреки че са обединили вътрешната база, KWrite все още има своя собствена индивидуалностНе споделя инстанции между прозорци, няма управление на сесии, не зарежда разширени плъгини, не предлага интегриран език за терминал или сървър (LSP) и други неща. Ако искате тези функции, ще трябва да изберете Kate.

KTextEditor: общият механизъм за редактиране

Както KWrite, така и Kate Те разчитат на една и съща библиотека за редактиране, KTextEditor, част от KDE framework-а. Тази библиотека предоставя почти цялата мощна „магия“ за редактиране, която виждате и в двете програми, и се използва и от други приложения като KDevelop и други KDE IDE.

Това означава, че Чистото преживяване при писане, избиране, маркиране и манипулиране на текст е почти идентично. между KWrite и Kate. Ако свикнете с едното, няма да имате проблеми с използването на другото или дори на KDevelop, защото поведението на текстовото поле е еднакво в цялото семейство.

Благодарение на KTextEditor, и двата редактора имат синтактично подчертаване за безброй езици, анализ на специфични режими (например, Поддръжка на надбавкаHTML, Python, C и др.), инструменти за редактиране, като например автоматично вдлъбване, номериране на редове, мини-преглед на документ и други функции, които далеч надхвърлят обикновения редактор.

Инсталиране и разпространение на различни системи

Като цяло, ако използвате KDE Plasma, Най-вероятно вече имате инсталиран KWrite по подразбиране.Кейт, от друга страна, може да се наложи да го инсталирате ръчно, в зависимост от оформлението.

На RPM-базирани системи като Fedora, това е толкова просто, колкото да изпълните нещо подобно sudo dnf инсталира kwrite kateВ други дистрибуции пакетите имат същите или много сходни имена. Освен това, И двете са публикувани независимоKWrite е достъпен на apps.kde.org/kwrite, а Kate на apps.kde.org/kate.

В екосистемата на KDE, Можете да ги инсталирате от Discover в самия десктоп.KWrite се разпространява и като Flatpak за среди, където предпочитате този тип самостоятелен пакет. В Manjaro, например, ще ги видите в Pamac като отделни програми, въпреки че до голяма степен споделят изходния код и зависимости.

Важна подробност е това Те не зависят един от друг като пакетиС други думи, можете да имате само KWrite, само Kate или и двете едновременно, без те да си пречат взаимно, без конфигурациите да се смесват и без директни конфликти на зависимости. Те работят като „добре възпитани близнаци“.

KWrite: лек редактор, но никак не е евтин.

Ако отворите KWrite, очаквайки нещо подобно бележка изключително ограничено, ще се изненадате, защото Това е лек редактор, но с доста разширени функции.Можете да го стартирате от менюто с приложения и да започнете да пишете както е, запазвайки отделни текстове, бележки, малки скриптове и др.

Сред традиционно приписваните му функции са: Експортиране в HTML, заключване на режима на селекция, проследяване на код и отметкиВсичко това го прави много полезен както за водене на бележки, така и за неформално редактиране на код. Той предлага и автоматично довършване на думи и други помощни средства за писане.

Има Конфигурируемо осветяване на синтаксиса за множество езициПредлага се и избор на режим за завършване на редове (Unix, Windows, Macintosh) и опция за избор на кодиране на текста. Въпреки че не винаги автоматично разпознава кодирането на файла, често използвайки системното по подразбиране при отваряне на файлове, можете ръчно да го промените, ако е необходимо.

Друга готина характеристика е това Позволява работа с отдалечени файлове чрез протоколи като FTP или FISH.интегриране с мрежовата инфраструктура на KDE. Това улеснява редактирането на файлове, разположени на сървъри, без да е необходимо настройване на сложни външни решения.

KWrite включва и опцията за използвайте различни компоненти благодарение на технологията KParts (В по-старите версии това беше значителна иновация.) Това позволяваше вграждането например на конзола Konsole в редактора или други компоненти. По-късно двигателят Kate беше приет като текстов редактор по подразбиране, затвърждавайки тази интеграция.

В историческия контекст на KDE, KWrite беше част от пакета kdebase И, наскоро, се разпространява заедно с Kate, като кодът му е в специална поддиректория на хранилището. Всичко това подсилва идеята, че не е напълно отделен проект, а по-скоро различен аспект на същата базова технология.

Споделени функции: отметки, маркиране и други

Тъй като и KWrite, и Kate са базирани на KTextEditor, те споделят някои инструменти, които правят съществена разлика в сравнение с много базовите редактори. Например Можете да използвате временни отметки, за да се придвижвате бързо в документа.

С обикновена клавишна комбинация, като например Ctrl+B за създаване на отметкаСлед това можете да преминете към тях от менюто с отметки. Те не се запазват във файла (не променят самото съдържание), но докато работите, те са елегантен начин да маркирате важни раздели. Много по-практично, отколкото да оставяте произволни думи като „foobar“ в текста и да се налага да ги търсите по-късно, което евентуално може да забравите да изтриете.

Друга ключова функция е синтактично маркиране и режими на документиОт менюто с инструменти можете да активирате автоматична проверка на правописа, която маркира грешките с подчертавания, и да изберете специфични режими за определени формати: Markdown, HTML, Python, C/C++ и др. Всеки режим прилага различна схема за маркиране, за да ви помогне да четете и разбирате по-добре съдържанието.

Ако искате да бъдете по-конкретни, можете директно изберете типа на маркиране, независимо от режимаТова е в случай, че искате да наложите специфична визуална схема. Този вид гъвкавост означава, че един и същ редактор може да се използва както за писане на обикновен текст, така и за бързо отстраняване на грешки в фрагмент от код.

Освен това, много потребители особено ценят Прегледът на документа е от дясната страна.Един вид вертикална миниатюра на целия текст. Въпреки че изглежда малка, тя е изненадващо полезна за локализиране на секции, заглавия или фрагменти от код и преминаване към приблизителната област с едно щракване.

Какво предлага Kate, което KWrite не предлага?

Големият въпрос е: ако „чистото и просто“ редактиране на текст е почти същото, Защо да премина от KWrite към Kate? Отговорът се крие във всичко, което обгражда текста, когато работите като програмист или със сложни проекти: панели, плъгини, сесии и терминал.

Кейт добавя още една странична лента, където можете да видите файловата система или директорията на проектаОсвен това, той обработва концепцията за „проект“, така че може да свързва файлове един с друг (например, .cpp с неговия .h или няколко конфигурационни файла на един и същ модул) и ви предлага по-интелигентна навигация между тях.

Също така включва a интегриран терминал, който се разгръща с клавиш (обикновено F4)Това ви позволява да изпълнявате команди, да компилирате, да стартирате скриптове или да използвате конзолни инструменти, без да напускате самия редактор. Можете дори да изпращате съдържанието на документа директно към терминала, което спестява значително време за разработка и писане на скриптове.

Друг плюс е управление на сесииKate може да запазва различни конфигурации на прозорци, раздели, отворени проекти и предпочитания, така че да имате различни профили за всеки тип работа (например, една среда за C++, друга за уеб редактиране, трета за бележки с документация и т.н.).

Също така, Кейт Поддържа голямо разнообразие от плъгини Те добавят разширени функции: интеграция с езикови сървъри (LSP) за интелигентно автоматично довършване, статичен анализ, подобрени терминали, дебъгване, специфични за езика инструменти и много други. Тази екосистема от разширения е това, което на практика прави Kate един вид мини-IDE за много разработчици.

Поради всички тези причини много потребители описват Кейт като много пълен инструмент за програмистиKWrite, макар и възприеман като „чист“ редактор за бързи или прости задачи, все пак има мощни опции под капака.

Практически разлики в интерфейса и поведението

Когато сравните двата прозореца един до друг, ще осъзнаете, че Интерфейсите на KWrite и интерфейсът на Kate са почти идентични. в елементите, които споделят: лента с инструменти, текстово поле, страничен мини-изглед, основни менюта… Основната разлика идва от допълнителните панели и изгледи.

В KWrite Няма да виждате страничните изгледи на инструментите Тези функции се появяват в Kate за проектния мениджър, закачения терминал и други панели, извлечени от плъгини. Настройките по подразбиране за лентата с инструменти и URL лентата (пътя до файла) също се променят; те могат да бъдат активирани или деактивирани в зависимост от режима.

На поведенческо ниво, KWrite Не споделя инстанции или сесииВсеки път, когато го отворите, той е като самостоятелен редактор и не се занимава с разширено управление на сесии. Също така не зарежда сложни плъгини, така че няма да имате някои от „луксозните“ функции, които Kate предлага.

И в двата случая можете да използвате раздели с много сходно поведениеОтварянето на множество документи, бързото отваряне, разделянето на изгледа на панели и т.н. е значително подобрение спрямо стриктно еднопрозоречната версия на KWrite отпреди 20 години. Днес, благодарение на споделянето на код с Kate, KWrite може да поддържа раздели, без да натоварва другите функции.

Употреба в реалния свят: от лека редакция до професионално развитие

Сред потребителите на KDE има доста ясни мнения за това кога Има смисъл да се използва KWrite, Kate или дори KDevelopКато цяло, KWrite се смята за най-лекия, KDevelop за най-тежкия, насочен към големи проекти, а Kate за нещо средно, идеален за ежедневната работа на програмисти, които не се нуждаят от мега-IDE.

Много хора, които са нови в KDE, питат кой да изберат, а обичайният отговор е нещо подобно: Ако просто искате да редактирате текст, да си водите бележки или да възпроизвеждате някои скриптове или конфигурационни файлове, KWrite е повече от достатъчен.Ако програмирате редовно, работите с много файлове и оценявате функции като проекти, интегриран терминал и сесии, тогава Kate е много по-подходящ за вас.

Има дори потребители, които, дори без да използват KDE като основна работна среда, Те продължават да разчитат на KWrite, защото харесват баланса му между простота и мощност.Типичен пример е някой в ​​XFCE, който поддържа някои KDE приложения като Krusader или KWrite, защото са му от съществено значение, и настройва зависимостите, за да избегне това, което смята за „раздуване“ (компоненти като kactivities, knowedstuff или kuserfeedback, ако не се възползва от тях).

Има и случаи на хора, които се опитват Потърсете алтернативи на KWrite, които не са за KDE (като някои самостоятелни GTK или Qt редактори) и при тестването им установяват, че им липсват ключови функции като режим на блоково редактиране (частично вертикално избиране на редове) или стабилно поведение при коментиране на множество редове. Докато не намерят заместител, който изпълнява всички тези функции, те в крайна сметка се придържат към KWrite като основен инструмент.

Други редактори в KDE средата: KDevelop и KEdit

В екосистемата на KDE не всичко е KWrite и Kate; Има и други приложения, свързани с редактирането и разработването на текст, като KDevelop или ветерана KEdit.

KDevelop е Пълноценно IDE, много по-тежкоПроектиран за големи проекти, сложно рефакториране, интегрирано дебъгване, помощници и широк набор от инструменти, той използва и KTextEditor като свой механизъм за редактиране. Така че, писането ще ви се стори познато, ако сте свикнали с Kate или KWrite, но по отношение на интерфейса и изискванията за ресурси, то е в съвсем различна лига.

KEdit, от своя страна, Той все още съществува в някои среди като алтернативен редактор.Една от историческите му характеристики е поддръжката на двупосочен текст, подходяща за езици с писане отдясно наляво. Някога е бил част от пакета kdeaddons и е обслужвал специфична ниша по отношение на типа текст.

Във всеки случай, средностатистическият потребител на KDE днес работи предимно в рамките на KWrite като лек редактор, Кейт като разширена среда за редактиране И когато имате нужда от още повече, KDevelop като специализирана IDE.

Лицензиране, технологии и поддръжка

На техническо ниво, KWrite (и по-скоро Kate) Написано е на C++, като за интерфейса е използван Qt. и се разпространява под лиценза LGPL. Това го прави свободен софтуер, интегрируем в други проекти и поддържан от сравнително голям екип от разработчици в рамките на KDE общността.

Техните хранилища за код са хостван в инфраструктурата на KDE и огледален на платформи като GitHubТова се отнася както за самия редактор, така и за основните рамки, като KTextEditor и KSyntaxHighlighting. Съществуват и системи за проследяване на грешки, където могат да се докладват грешки и да се следи тяхното разрешаване.

Екипът непрекъснато насърчава това нови сътрудници се присъединяват към разработкатаНезависимо дали става въпрос за добавяне на функции, усъвършенстване на детайли или подобряване на производителността, фактът, че KWrite и Kate вече споделят почти целия си код, означава, че всяка корекция или подобрение автоматично се отразява и на двата редактора, намалявайки дублирането и повишавайки цялостното качество.

На практика това се изразява в Всяко малко подобрение, което влиза в хранилището, е от полза за цялата екосистема на редакторите на KDE.не само за Kate и KWrite, но и за приложенията, които използват техните рамки, засилвайки ролята им като референция в рамките на Plasma desktop.

Като се има предвид цялостната картина, за крайния потребител на KDE е трудно да намери по-добър баланс днес между лек, но мощен редактор като KWrite y универсален инструмент за разработка като Kateособено знаейки, че и двете работят паралелно, споделят една и съща основа, не си противоречат и обхващат всичко - от най-простото използване на бележник до много взискателните работни процеси за програмиране.

Най-добрите редактори на Markdown за Linux
Свързана статия:
Най-добрите редактори на Markdown за Linux