KWrite contre Kate : les véritables différences entre les deux éditeurs KDE

  • KWrite et Kate partagent le même moteur KTextEditor, mais sont destinés à des usages différents : l’édition légère contre un environnement de programmation avancé.
  • L'unification du code a permis à KWrite de réutiliser la base de Kate, en activant ou en désactivant des fonctionnalités telles que les sessions, les plugins ou les panneaux latéraux.
  • KWrite offre un ensemble de fonctionnalités puissantes dans un format simple, tandis que Kate propose des fonctionnalités supplémentaires telles que la gestion de projets, un terminal intégré et la gestion de sessions.
  • Tous deux sont intégrés à l'écosystème KDE en tant qu'éditeurs complémentaires, bénéficiant des mêmes améliorations et activement maintenus par la communauté.

KWrite contre Kate

Si vous utilisez KDE ou une distribution comme Manjaro, openSUSE ou Fedora avec Plasma, vous rencontrerez tôt ou tard ce problème. KWrite et Kate dans le menu des applicationsÀ première vue, elles semblent presque identiques, et de fait, beaucoup de gens se demandent pourquoi les deux sont installées, s'il s'agit de la même application, ou si l'on peut en supprimer une sans supprimer l'autre.

La réalité, c'est que KWrite et Kate Ce sont deux « frères » très proches.Ils partagent la quasi-totalité du moteur interne, mais sont conçus pour des usages différents : l’un comme éditeur léger et simple, et l’autre comme environnement d’édition avancé pour la programmation et les projets de grande envergure. Examinons de plus près leurs différences, leurs points communs, leur origine et les cas où il est préférable d’utiliser l’un ou l’autre.

Origine et relation entre KWrite et Kate

Pendant une vingtaine d'années, KWrite et Kate ont toujours été inséparables dans l'écosystème KDE.Historiquement, KWrite a été le premier : un éditeur de texte à fenêtre unique (SDI) qui était inclus dans les premières versions de KDE comme le bloc-notes « avancé » typique.

Au fil du temps, l'un des principaux développeurs de KDE a décidé de créer Kate en tant que variante de document multiple (MDI)Conçue pour fonctionner avec plusieurs onglets, davantage de panneaux et des fonctionnalités orientées programmation, Kate a été explicitement créée comme la version multi-documents la plus puissante de KWrite.

Pendant de nombreuses années, Les deux projets ont suivi des trajectoires de développement quelque peu distinctes.KWrite a peu évolué : il est resté un éditeur simple, bénéficiant d’améliorations et de corrections de bogues ponctuelles, sans pour autant devenir une suite bureautique complète. De son côté, Kate a vu ses fonctionnalités réintégrées, telles que le système d’onglets, la gestion des sessions, les plugins avancés, le terminal intégré et la gestion de projets.

Cependant, le système de montage de base qu'ils ont tous deux utilisé est le même : la bibliothèque KTextEditor du framework KDEGrâce à cela, KWrite et Kate offrent tous deux une expérience d'édition très performante, bien supérieure à celle d'un simple bloc-notes, même si KWrite peut paraître visuellement « basique ».

Un seul code source : quand Kate « mange » KWrite

Ces dernières années, une décision importante a été prise concernant ce projet : Évitez le code dupliqué et demandez à KWrite de réutiliser directement le code source de Kate.en désactivant les fonctionnalités les plus avancées. Cette idée est née lorsqu'ils ont voulu ajouter des onglets à KWrite.

Un développeur (Waqar, très actif dans le projet) a commencé à implémenter Support pour cils en KWriteLe problème était que les onglets du dépôt de Kate avaient déjà été réécrits plusieurs fois, à la fois dans le noyau et via des plugins, et il n'était pas judicieux d'ajouter une nouvelle implémentation qui nécessiterait une maintenance à long terme.

Pour éviter ce chevauchement, l'équipe a décidé que KWrite ne disposerait pas d'une base de code indépendante.mais utiliserait le même noyau que Kate avec un mode « recadré ». KWrite est maintenant conçu comme une sorte de Kate simplifiée sans sessions, sans plugins et avec une interface des plus épuréesTechniquement, la principale différence entre les deux réside dans la fonction principale et quelques vérifications dans le code partagé permettant d'activer ou de masquer des parties de l'interface.

Grâce à ce changement, Environ mille lignes de code spécifique à KWrite ont été supprimées. Seules quelques lignes de code ont dû être ajoutées au code commun. De ce fait, les deux éditeurs partagent la quasi-totalité de leur logique, y compris le système de tabulation moderne, l'analyse des paramètres de ligne de commande et les comportements d'édition de base.

Cependant, même s'ils ont unifié leur base interne, KWrite conserve sa propre personnalitéIl ne permet pas le partage d'instances entre fenêtres, la gestion des sessions, le chargement de plugins avancés, ni l'intégration d'un terminal ou d'un langage serveur (LSP), entre autres. Si vous souhaitez bénéficier de ces fonctionnalités, il vous faudra opter pour Kate.

KTextEditor : le moteur d’édition commun

KWrite et Kate Ils utilisent la même bibliothèque d'édition, KTextEditor.Cette bibliothèque, qui fait partie du framework KDE, fournit la quasi-totalité des puissantes fonctionnalités d'édition présentes dans les deux programmes et est également utilisée par d'autres applications telles que KDevelop et d'autres environnements de développement intégrés (IDE) KDE.

Ceci signifie que L'expérience pure d'écriture, de sélection, de mise en évidence et de manipulation de texte est pratiquement identique. Entre KWrite et Kate, si vous vous familiarisez avec l'un, vous n'aurez aucun mal à utiliser l'autre, voire KDevelop, car le comportement de la zone de texte est identique dans toute la famille.

Grâce à KTextEditor, les deux éditeurs ont coloration syntaxique pour d'innombrables langues, l'analyse de modes spécifiques (par exemple, Prise en charge de MarkdownHTML, Python, C, etc.), des outils d'édition tels que l'indentation automatique, la numérotation des lignes, la mini-vue du document et d'autres fonctionnalités qui vont bien au-delà d'un simple éditeur.

Installation et distribution sur différents systèmes

En général, si vous utilisez KDE Plasma, Il est fort probable que KWrite soit déjà installé par défaut.Kate, par contre, il se peut que vous deviez l'installer manuellement, selon la configuration.

Sur les systèmes basés sur RPM comme Fedora, c'est aussi simple que d'exécuter une commande du type : sudo dnf install kwrite kateDans d'autres distributions, les paquets portent des noms identiques ou très similaires. De plus, Les deux sont publiés indépendammentKWrite est disponible sur apps.kde.org/kwrite et Kate sur apps.kde.org/kate.

Dans l'écosystème KDE, Vous pouvez les installer depuis Discover directement sur votre ordinateur.KWrite est également distribué sous forme de Flatpak pour les environnements où ce type de paquet autonome est préférable. Sous Manjaro, par exemple, vous les trouverez dans Pamac comme des programmes distincts, même s'ils partagent en grande partie le même code source et les mêmes dépendances.

Un détail important est que Ils ne sont pas dépendants l'un de l'autre en tant qu'ensemblesAutrement dit, vous pouvez utiliser KWrite, Kate, ou les deux simultanément sans qu'ils interfèrent l'un avec l'autre, sans que les configurations ne se mélangent et sans conflits de dépendances directs. Ils fonctionnent comme des jumeaux parfaitement compatibles.

KWrite : un éditeur léger, mais pas du tout bon marché.

Si vous ouvrez KWrite en vous attendant à quelque chose comme bloc notes extrêmement limité, vous allez être surpris, car C'est un éditeur léger mais doté de nombreuses fonctionnalités avancées.Vous pouvez le lancer depuis le menu des applications et commencer à écrire directement, en enregistrant des textes individuels, des notes, de petits scripts, etc.

Parmi les fonctions qui lui sont traditionnellement attribuées, on peut citer : Exportation HTML, verrouillage du mode de sélection, suivi du code et signetsTout cela le rend très utile pour la prise de notes et l'édition informelle de code. Il offre également la saisie semi-automatique et d'autres outils d'aide à la rédaction.

Il dispose de Coloration syntaxique configurable pour plusieurs languesIl offre également la possibilité de sélectionner le mode de fin de ligne (Unix, Windows, Macintosh) et l'encodage du texte. Bien qu'il ne détecte pas toujours automatiquement l'encodage du fichier, utilisant souvent celui par défaut du système à l'ouverture, vous pouvez le modifier manuellement si nécessaire.

Une autre fonctionnalité intéressante est que Il permet de travailler avec des fichiers distants via des protocoles tels que FTP ou fish.L'intégration à l'infrastructure réseau KDE simplifie la modification des fichiers situés sur les serveurs, sans nécessiter la mise en place de solutions externes complexes.

KWrite inclut également l'option de utiliser différents composants grâce à la technologie KParts (Dans les versions précédentes, il s'agissait d'une innovation majeure.) Cela permettait d'intégrer, par exemple, une console Konsole au sein de l'éditeur, ou d'autres composants. Par la suite, le moteur Kate a été adopté comme éditeur de texte par défaut, consolidant ainsi cette intégration.

Dans le contexte historique de KDE, KWrite faisait partie du package kdebase Plus récemment, il est distribué avec Kate, son code se trouvant dans un sous-répertoire dédié du dépôt. Tout cela confirme qu'il ne s'agit pas d'un projet totalement distinct, mais plutôt d'une autre facette de la même technologie sous-jacente.

Fonctionnalités partagées : signets, surlignage, et plus encore

Comme KWrite et Kate sont tous deux basés sur KTextEditor, ils partagent certains outils qui font une différence significative par rapport aux éditeurs très basiques. Par exemple, Vous pouvez utiliser des signets temporaires pour vous déplacer rapidement dans le document..

Avec un simple raccourci clavier, comme Ctrl+B pour créer un signetVous pouvez ensuite y accéder depuis le menu des signets. Ils ne sont pas enregistrés dans le fichier (ils n'en modifient pas le contenu), mais pendant votre travail, ils constituent un moyen élégant de marquer les passages importants. Bien plus pratique que de laisser des mots aléatoires comme « foobar » dans le texte et de devoir les rechercher plus tard, sans parler de ceux que vous risquez d'oublier de supprimer.

Une autre fonction clé est la coloration syntaxique et modes de documentDans le menu Outils, vous pouvez activer la correction orthographique automatique, qui met en évidence les erreurs par des soulignements, et choisir des modes spécifiques pour des formats particuliers : Markdown, HTML, Python, C/C++, etc. Chaque mode applique un système de surbrillance différent pour vous aider à lire et à mieux comprendre le contenu.

Si vous souhaitez être plus précis, vous pouvez Choisissez directement le type de surbrillance quel que soit le mode.Ceci est utile si vous souhaitez imposer un style visuel spécifique. Cette flexibilité permet d'utiliser le même éditeur aussi bien pour écrire du texte brut que pour déboguer rapidement un extrait de code.

De plus, de nombreux utilisateurs apprécient particulièrement L'aperçu du document se trouve à droite.Une sorte de vignette verticale du texte intégral. Bien que petite, elle s'avère étonnamment pratique pour localiser des sections, des titres ou des extraits de code et accéder directement à la zone souhaitée en un seul clic.

Qu'est-ce que Kate propose que KWrite ne propose pas ?

La grande question est la suivante : si l'édition de texte « pure et simple » est presque identique, Pourquoi passer de KWrite à Kate ? La réponse se trouve dans tout ce qui entoure le texte lorsque vous travaillez comme programmeur ou sur des projets complexes : panneaux, plugins, sessions et terminal.

Kate en ajoute une barre latérale permettant de visualiser le système de fichiers ou un répertoire de projetDe plus, il gère le concept de « projet », ce qui lui permet de relier les fichiers entre eux (par exemple, un fichier .cpp avec son fichier .h, ou plusieurs fichiers de configuration du même module) et de vous offrir une navigation plus intelligente entre eux.

Comprend également un terminal intégré déployé à l'aide d'une touche (généralement F4)Cela vous permet d'exécuter des commandes, de compiler, de lancer des scripts ou d'utiliser des outils de console sans quitter l'éditeur. Vous pouvez même envoyer le contenu du document directement au terminal, ce qui représente un gain de temps considérable pour le développement et la création de scripts.

Un autre avantage est le gestion de sessionKate peut enregistrer différentes configurations de fenêtres, d'onglets, de projets ouverts et de préférences, ce qui vous permet de disposer de profils différents pour chaque type de travail (par exemple, un environnement pour le C++, un autre pour l'édition web, un autre pour les notes de documentation, etc.).

Kate aussi Il prend en charge une grande variété de plugins. Ces extensions ajoutent des fonctionnalités avancées : intégration avec les serveurs de langage (LSP) pour une saisie semi-automatique intelligente, analyse statique, terminaux améliorés, débogage, outils spécifiques au langage, et bien plus encore. Cet écosystème d’extensions fait de Kate, en pratique, une sorte de mini-IDE pour de nombreux développeurs.

Pour toutes ces raisons, de nombreux utilisateurs décrivent Kate comme un outil très complet pour les programmeursKWrite, bien que considéré comme l'éditeur « épuré » pour les tâches rapides ou simples, possède néanmoins des options puissantes sous le capot.

Différences pratiques au niveau de l'interface et du comportement

Lorsque vous comparez les deux fenêtres côte à côte, vous vous rendez compte que L'interface de KWrite et celle de Kate sont presque identiques. Les éléments qu'ils partagent sont : barre d'outils, zone de texte, mini-vue latérale, menus de base… La principale différence réside dans les panneaux et vues supplémentaires.

Dans KWrite Vous ne verrez pas les vues des outils latéraux Ces fonctionnalités sont présentes dans Kate pour l'explorateur de projets, le terminal ancré et d'autres panneaux dérivés de plugins. Les paramètres par défaut de la barre d'outils et de la barre d'URL (chemin d'accès aux fichiers) sont également modifiés ; ils peuvent être activés ou désactivés selon le mode.

Au niveau comportemental, KWrite Il ne partage pas les instances ni les sessionsÀ chaque ouverture, il fonctionne comme un éditeur indépendant et ne gère pas les sessions avancées. Il ne charge pas non plus les plugins complexes ; vous n’aurez donc pas accès à certaines fonctionnalités sophistiquées de Kate.

Dans les deux cas, vous pouvez utiliser onglets au comportement très similaireL'ouverture simultanée de plusieurs documents, l'ouverture rapide et la division de l'affichage en panneaux constituent une amélioration significative par rapport à la version mono-fenêtre de KWrite d'il y a 20 ans. Aujourd'hui, grâce au partage de code avec Kate, KWrite prend en charge les onglets sans impacter les autres fonctionnalités.

Utilisation concrète : du montage léger au développement professionnel

Parmi les utilisateurs de KDE, les opinions sont assez tranchées quant au moment où… Il est judicieux d'utiliser KWrite, Kate ou même KDevelop.En général, KWrite est considéré comme le plus léger, KDevelop comme le plus lourd, destiné aux grands projets, et Kate comme un compromis idéal pour le travail quotidien des programmeurs qui n'ont pas besoin d'un IDE ultra-complet.

De nombreuses personnes découvrant KDE se demandent lequel choisir, et la réponse habituelle est quelque chose comme ceci : Si vous souhaitez simplement éditer du texte, prendre des notes ou exécuter des scripts ou des fichiers de configuration, KWrite est largement suffisant.Si vous programmez régulièrement, gérez de nombreux fichiers et appréciez des fonctionnalités telles que les projets, un terminal intégré et les sessions, alors Kate vous conviendra beaucoup mieux.

Il existe même des utilisateurs qui, même sans utiliser KDE comme environnement de bureau principal, Ils continuent de faire confiance à KWrite car ils apprécient son équilibre entre simplicité et puissance.Un exemple typique est celui d'une personne sous XFCE qui maintient certaines applications KDE comme Krusader ou KWrite car elles lui sont essentielles, et qui ajuste les dépendances pour éviter ce qu'elle considère comme du « gonflement » (des composants comme kactivities, knewstuff ou kuserfeedback si elle ne les utilise pas).

Il y a aussi des cas de personnes qui essaient Recherchez des alternatives à KWrite qui ne soient pas liées à KDE. (comme certains éditeurs GTK ou Qt autonomes) et, lors de leurs tests, ils constatent qu'ils manquent de fonctionnalités essentielles telles que le mode d'édition par blocs (sélection verticale partielle des lignes) ou une gestion robuste des commentaires sur plusieurs lignes. En attendant de trouver une alternative répondant à tous ces besoins, ils continuent d'utiliser KWrite comme outil principal.

Autres éditeurs disponibles dans l'environnement KDE : KDevelop et KEdit

Au sein de l'écosystème KDE, tout ne se résume pas à KWrite et Kate ; Il existe d'autres applications liées à l'édition et au développement de texte., comme KDevelop ou le vétéran KEdit.

KDevelop est un IDE complet, beaucoup plus lourdConçu pour les projets de grande envergure, les refactorisations complexes, le débogage intégré, les assistants et une large gamme d'outils, il utilise également KTextEditor comme moteur d'édition. L'expérience d'écriture vous semblera donc familière si vous êtes habitué à Kate ou KWrite, mais en termes d'interface et de ressources requises, il est d'un tout autre niveau.

KEdit, pour sa part, Il existe encore dans certains environnements comme éditeur alternatif.L'une de ses caractéristiques historiques est sa prise en charge du texte bidirectionnel, essentielle pour les langues s'écrivant de droite à gauche. Elle faisait autrefois partie du paquetage kdeaddons et répondait à un besoin spécifique en matière de types de texte.

Quoi qu'il en soit, l'utilisateur KDE moyen travaille aujourd'hui principalement dans un environnement KDE classique. KWrite comme éditeur léger, Kate comme environnement de montage avancé Et, si vous avez besoin de plus de fonctionnalités, KDevelop est un IDE spécialisé.

Licences, technologie et maintenance

Sur le plan technique, KWrite (et par extension Kate) Il est écrit en C++ et utilise Qt pour l'interface. et distribué sous licence LGPL. Cela en fait un logiciel libre, intégrable à d'autres projets et maintenu par une équipe assez importante de développeurs au sein de la communauté KDE.

Leurs dépôts de code sont hébergé sur l'infrastructure KDE et répliqué sur des plateformes comme GitHubCela concerne aussi bien l'éditeur lui-même que les frameworks sous-jacents, tels que KTextEditor et KSyntaxHighlighting. Des systèmes de suivi des bogues permettent également de signaler les erreurs et de suivre leur résolution.

L'équipe encourage constamment cela de nouveaux collaborateurs rejoignent le développementQu’il s’agisse d’ajouter des fonctionnalités, de peaufiner les détails ou d’améliorer les performances, le fait que KWrite et Kate partagent désormais la quasi-totalité de leur code signifie que chaque correction ou amélioration a un impact automatique sur les deux éditeurs, réduisant ainsi les efforts redondants et augmentant la qualité globale.

En pratique, cela se traduit par Chaque petite amélioration apportée au dépôt profite à l'ensemble de l'écosystème de l'éditeur KDE.non seulement à Kate et KWrite, mais aussi aux applications qui utilisent leurs frameworks, renforçant ainsi leur rôle de référence au sein de l'environnement de bureau Plasma.

Globalement, pour un utilisateur final de KDE, il est difficile de trouver aujourd'hui un meilleur équilibre entre un éditeur léger mais puissant comme KWrite y un outil de développement polyvalent comme Kated'autant plus que les deux fonctionnent en parallèle, partagent la même base, ne sont pas incompatibles et couvrent tout, de l'utilisation la plus simple du bloc-notes aux flux de travail de programmation les plus exigeants.

Meilleurs éditeurs Markdown pour Linux
Article connexe:
Meilleurs éditeurs Markdown pour Linux