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

  • KWrite и Kate деле исти KTextEditor механизам, али су усмерени на различите намене: лагано уређивање наспрам напредног окружења за програмирање.
  • Уједињавање кода је омогућило KWrite-у да поново користи Кејтину базу, омогућавајући или онемогућавајући функције као што су сесије, додаци или бочни панели.
  • 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-у да директно поново користи Кејтину базу кодаонемогућавањем напреднијих функција. Ова идеја је настала када су желели да додају картице у KWrite.

Програмер (Вакар, веома активан у пројекту) је почео да имплементира Подршка за трепавице у KWrite-уПроблем је био у томе што су картице у Кејтином репозиторијуму већ биле неколико пута преписане, како у језгру тако и кроз додатке, и није имало смисла додавати још једну имплементацију која би захтевала дугорочно одржавање.

Да би се избегло то дуплирање, тим је одлучио да KWrite не би имао независну базу кодаали би користио исто језгро као и Кејт са „исеченим“ режимом. KWrite је сада направљен као нека врста Кејт је поједноставила без сесија, без додатака и са најчистијим интерфејсомТехнички, оно што се разликује између њих двоје је углавном главна функција и неке провере у дељеном коду за активирање или скривање делова интерфејса.

Захваљујући овој промени, Уклоњено је приближно хиљаду линија кода специфичног за KWrite. И само неколико линија кода је морало бити додато заједничком коду. Резултат је да оба едитора деле практично сву своју логику, укључујући модерни систем табова, парсирање параметара командне линије и основно понашање уређивања.

Међутим, иако су ујединили унутрашњу базу, KWrite и даље има своју личностНе дели инстанце између прозора, нема управљање сесијама, не учитава напредне додатке, не нуди интегрисани терминалски или серверски језик (LSP), између осталог. Ако желите те функције, мораћете да се одлучите за Kate.

KTextEditor: заједнички механизам за уређивање

И KWrite и Kate Ослањају се на исту библиотеку за уређивање, KTextEditor, део KDE оквира. Ова библиотека пружа скоро сву моћну „магију“ за уређивање коју видите у оба програма, а користе је и друге апликације као што су 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 екосистему, Можете их инсталирати из Дисцовер-а на самој радној површини.KWrite се такође дистрибуира као Flatpak за окружења где преферирате ову врсту самосталног пакета. У Manjaro-у, на пример, видећете их у Pamac-у као засебне програме, иако углавном деле изворни код и зависности.

Важан детаљ је тај Они не зависе једни од других као пакетиДругим речима, можете имати само KWrite, само Kate или оба истовремено, а да се међусобно не мешају, да се конфигурације не мешају и да нема директних сукоба зависности. Они раде као „добро понашани близанци“.

KWrite: лаган едитор, али нимало јефтин.

Ако отворите KWrite очекујући нешто попут подсетник изузетно ограничено, бићете изненађени, јер То је лаган едитор, али са доста напредних функција.Можете га покренути из менија апликација и почети да пишете какав јесте, чувајући појединачне текстове, белешке, мале скрипте итд.

Међу функцијама које му се традиционално приписују су: HTML извоз, закључавање режима селекције, праћење кода и обележивачиСве ово га чини веома корисним и за вођење белешки и за неформално уређивање кода. Такође нуди аутоматско довршавање речи и друга помагала за писање.

Има Конфигурисано истицање синтаксе за више језикаТакође нуди избор начина завршетка реда (Unix, Windows, Macintosh) и опцију избора кодирања текста. Иако не детектује увек аутоматски кодирање датотеке, често користећи подразумевано системско подешавање приликом отварања датотека, можете га ручно променити ако је потребно.

Још једна кул карактеристика је то Омогућава рад са удаљеним датотекама путем протокола као што су FTP или Fish.интеграција са KDE мрежном инфраструктуром. Ово олакшава уређивање датотека које се налазе на серверима без потребе за подешавањем компликованих екстерних решења.

KWrite такође укључује опцију за користите различите компоненте захваљујући KParts технологији (У старијим верзијама, ово је била значајна иновација.) Ово је омогућило уграђивање, на пример, Конзоле конзоле унутар едитора или других компоненти. Касније је Кејт мотор усвојен као подразумевани едитор текста, учвршћујући ову интеграцију.

У историјском контексту КДЕ-а, KWrite је био део kdebase пакета И, у скорије време, дистрибуира се заједно са Кејт, са својим кодом у посебном поддиректоријуму репозиторијума. Све ово појачава идеју да није у питању потпуно одвојен пројекат, већ другачији аспект исте основне технологије.

Дељене функције: обележивачи, истицање и још много тога

Пошто су и KWrite и Kate засновани на KTextEditor-у, деле неке алате који праве значајну разлику у поређењу са веома основним едиторима. На пример. Можете користити привремене обележиваче за брзо кретање кроз документ.

Једноставном пречицом на тастатури, као што је Ctrl+B да бисте креирали обележивачЗатим можете да пређете на њих из менија обележивача. Они се не чувају унутар датотеке (не мењају стварни садржај), али док радите, представљају елегантан начин да означите важне делове. Много је практичније него да оставите насумичне речи попут „foobar“ у тексту и касније их тражите, што бисте на крају могли заборавити да обришете.

Још једна кључна функција је истицање синтаксе и режими документаИз менија алата можете активирати аутоматску проверу правописа, која истиче грешке подвлачењем, и изабрати одређене режиме за одређене формате: Markdown, HTML, Python, C/C++ итд. Сваки режим примењује другачију шему истицања како би вам помогао да читате и боље разумете садржај.

Ако желите да будете прецизнији, можете директно изаберите тип истицања без обзира на режимОво је у случају да желите да наметнете одређену визуелну шему. Оваква флексибилност значи да се исти едитор може користити и за писање обичног текста и за брзо отклањање грешака у фрагменту кода.

Поред тога, многи корисници посебно цене Преглед документа је на десној страни.Нека врста вертикалне сличице целог текста. Иако изгледа мало, изненађујуће је корисна за лоцирање одељака, наслова или фрагмената кода и прелазак на приближно подручје једним кликом.

Шта Кејт нуди што KWrite не нуди?

Велико питање је: ако је „чисто и једноставно“ уређивање текста готово исто, Зашто прећи са KWrite-а на Kate? Одговор лежи у свему што окружује текст када радите као програмер или са сложеним пројектима: панели, додаци, сесије и терминал.

Кејт додаје једну бочна трака где можете видети систем датотека или директоријум пројектаШтавише, обрађује концепт „пројекта“, тако да може да повезује датотеке једне са другима (на пример, .cpp са својим .h или неколико конфигурационих датотека истог модула) и да вам понуди паметнију навигацију између њих.

Такође укључује а интегрисани терминал који се покреће помоћу тастера (обично F4)Ово вам омогућава да покрећете команде, компајлирате, покрећете скрипте или користите конзолне алате без напуштања самог едитора. Чак можете послати садржај документа директно у терминал, што значајно штеди време за развој и писање скрипти.

Још један плус је управљање сесијамаКејт може да сачува различите конфигурације прозора, картица, отворених пројеката и подешавања, тако да имате различите профиле за сваку врсту посла (на пример, једно окружење за C++, друго за веб уређивање, треће за белешке о документацији итд.).

Такође, Кејт Подржава широк спектар додатака Оне додају напредне функције: интеграцију са језичким серверима (LSP) за интелигентно аутоматско довршавање, статичку анализу, побољшане терминале, отклањање грешака, алате специфичне за језике и још много тога. Овај екосистем проширења је оно што, у пракси, чини Kate неком врстом мини-IDE-а за многе програмере.

Због свих ових разлога, многи корисници описују Кејт као веома комплетан алат за програмереKWrite, иако се сматра „чистим“ едитором за брзе или једноставне задатке, и даље има моћне опције испод хаубе.

Практичне разлике у интерфејсу и понашању

Када упоредите два прозора један поред другог, схватићете да KWrite-ов интерфејс и Kate-ов интерфејс су готово идентични. у елементима које деле: трака са алаткама, поље за текст, бочни мини-приказ, основни менији… Главна разлика долази од додатних панела и приказа.

У KWrite-у Нећете видети бочне приказе алата Ове функције се појављују у Кејту за истраживач пројеката, усидрени терминал и друге панеле изведене из додатака. Подразумевана подешавања за траку са алаткама и URL траку (путању датотеке) се такође мењају; она се могу омогућити или онемогућити у зависности од режима.

На нивоу понашања, KWrite Не дели инстанце или сесијеСваки пут када га отворите, он је као самостални едитор и не укључује се у напредно управљање сесијама. Такође не учитава сложене додатке, тако да нећете имати неке од „фенси“ функција које Кејт нуди.

У оба случаја можете користити картице са веома сличним понашањемОтварање више докумената, брзо отварање, подела приказа на панеле итд., представља значајно побољшање у односу на строгу верзију KWrite-а са једним прозором од пре 20 година. Данас, захваљујући дељењу кода са Kate-ом, KWrite може да подржи картице без оптерећења осталих функција.

Употреба у стварном свету: од лагане монтаже до професионалног развоја

Међу корисницима KDE-а постоје прилично јасна мишљења о томе када Има смисла користити KWrite, Kate или чак KDevelopГенерално, KWrite се сматра најлакшим, KDevelop најтежим намењеним великим пројектима, а Kate негде између, идеалним за свакодневни рад програмера којима није потребан мега-IDE.

Многи људи који су нови у KDE-у питају који да изаберу, а уобичајени одговор је нешто попут овог: Ако само желите да уређујете текст, правите белешке или репродукујете неке скрипте или конфигурационе датотеке, KWrite је више него довољан.Ако редовно програмирате, обрађујете много датотека и цените функције попут пројеката, интегрисаног терминала и сесија, онда је Kate много бољи избор.

Постоје чак и корисници који, чак и без коришћења KDE-а као примарног радног окружења, Они и даље се ослањају на KWrite јер им се свиђа његова равнотежа између једноставности и снаге.Типичан пример је неко у XFCE-у ко одржава неке KDE апликације попут Krusader-а или KWrite-а јер су им неопходне и прилагођава зависности како би избегао оно што сматра „надувавањем“ (компоненте попут kactivities, knowledgestuff или 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 радне површине.

Гледајући целу слику, за крајњег корисника KDE-а је данас тешко пронаћи бољу равнотежу између лаган, али моћан едитор попут KWrite-а y свестрани развојни алат попут Кејтпосебно знајући да оба раде паралелно, деле исту основу, нису у сукобу једно са другим и покривају све, од најједноставније употребе бележнице до веома захтевних програмских токова рада.

Најбољи Маркдовн уређивачи за Линук
Повезани чланак:
Најбољи Маркдовн уређивачи за Линук