Open Source Software-Projekt CudaText

Heute noch ein kleiner Gastbeitrag von Blog-Leser Andreas H. (alias dinkumoil auf GitHub und SourceForge), der sich seit einiger Zeit an dem Open Source Software-Projekt CudaText (Texteditor für mehrere Plattformen) beteiligt.


Anzeige

Auf der Suche nach einem guten Texteditor für mehrere Rechnerplattformen? Oder einfach mal aus Neugierde einen neuen Editor ausprobieren? Dann könnte der Open Source Software-Projekt CudaText etwas sein. Der Autor ist ein erfahrener russischer Entwickler, der in vergangenen Jahren bereits den Editor SynWrite entwickelt hat (Entwicklung mittlerweile eingestellt). Dieser kann im TotalCommander als Textbetrachter-Plugin nachinstalliert werden, existiert aber auch als eigenständiges Programm.

Das CudaText-Projekt im Überblick

Das CudaText-Projekt zeichnet sich vor allem durch eine schnell voranschreitende Entwicklung und einen sehr aktiven, hilfsbereiten und prompt reagierenden Entwickler aus. Das Programm selbst ist cross-plattform-Projekt angelegt, es läuft auf Windows, Mac OS X, verschiedenen Linux-Distributionen, FreeBSD und Solaris.

Unterstützte Prozessorplattformen sind Intel 32/64 Bit und ARM/AArch64. Im Funktionsumfang kann es mit Veteranen des Genres wie z.B. Notepad++ auf jeden Fall mithalten, auf einigen Gebieten ist CudaText sogar besser.

Entwickelt wird die Software in Object Pascal mit der Open Source IDE Lazarus und dem Free Pascal Compiler (beide ebenfalls cross-plattform). Die Mitarbeit am Projekt ist sehr willkommen und mit einem GitHub Account problemlos möglich.

CudaText

CudaText-Leistungsmerkmale

Cuda bedeutet in einigen slawischen Sprachen “Wunder” oder “Wunderwerk”. Alleine wenn man sich die Vielfalt der unterstützten Plattformen anschaut, ist das ein durchaus berechtigter Terminus. Aber auch die Liste der Leistungsmerkmale ist lang und vielfältig.

  • Als wichtigstes Feature: CudaText ist über Plugins (programmiert in Python) erweiterbar.
  • Der Editor stellt eine umfangreiche Programmierschnittstelle zur Verfügung, die laufend erweitert wird.

Der Entwickler hält dabei die sehr ausführliche Dokumentation des Editors und der Programmierschnittstelle immer aktuell. Dadurch lassen sich nicht nur dringend benötigte Funktionen kurzfristig selbst nachrüsten sondern auch sehr umfangreiche Erweiterungen ergänzen, die jedoch nicht von allen Nutzern benötigt werden.


Anzeige

Dementsprechend existiert eine große Zahl nützlicher Plugins, die über einen integrierten Plugin-Manager aufgelistet, installiert und natürlich auch wieder deinstalliert werden können. Darunter sind Leckerbissen wie z.B. ein Textvergleichs-Plugin, mit dem Unterschiede in zwei Versionen eines Dokumentes farblich hervorgehoben und ins jeweils andere Dokument übertragen werden können, oder ein SQL-Plugin mit dem sich die Ergebnisse von Abfragen verschiedenster Datenbank-Server direkt im Editor anzeigen lassen.

Aber auch Features wie Sortierfunktionen, synchrones scrollen von zwei geöffneten Dokumenten oder synchrones editieren aller Vorkommnisse eines Wortes innerhalb eines selektierten Textbereichs werden als Plugins nachgerüstet.

  • Es werden weit verbreitete Zeichenkodierungen für viele europäische und asiatische Sprachen unterstützt. Auch UTF-8 und UTF-16 sind natürlich dabei. Beim Öffnen von Dateien wird versucht, die Zeichenkodierung automatisch zu erkennen. Eine manuelle Korrektur ist natürlich möglich und wird, solange die Datei in der Liste der zuletzt geöffneten Dateien (Recent Files List) enthalten ist, vom Programm gespeichert und beim nächsten Öffnen der Datei wiederhergestellt.
  • Syntaxhervorhebung für mehr als 200 Programmiersprachen, die exotischeren müssen allerdings als Plugin nachgerüstet werden.
  • Separates Programm zur Erzeugung von eigenen Lexern, um auch für sehr spezielle Programmiersprachen oder Steuerdateien eine Syntaxhervorhebung zur Verfügung zu haben. Der Lexer-Generator unterstützt die Verwendung von regulären Ausdrücken (Regular Expressions).
  • Bei der Erzeugung der Lexer kann festgelegt werden, welche Elemente im sog. Code-Baum erscheinen, mit dessen Hilfe eine schnelle Navigation in der Datei zwischen z.B. Funktionen und Deklarationen von Datentypen und Klassen möglich ist.
  • Autovervollständigung von Programm-Code ist für verschiedene Programmiersprachen verfügbar, teilweise out-of-the-box oder als Plugin nachrüstbar.
  • Code Folding, d.h. Einklappen von Code-Blöcken zur Verbesserung der Übersicht.
  • Multiples Selektieren von Text und multiple Text-Cursor, d.h. gleichzeitiges Editieren von mehreren Textstellen.
  • Bis zu 6 Editierbereiche mit jeweils einer unbegrenzten Anzahl an Tabs (geöffneten Dateien). Jeder Tab kann nochmals in zwei Bereiche unterteilt werden, die verschiedene Dateien anzeigen.
  • Suchen & Ersetzen unterstützt die Verwendung von regulären Ausdrücken.
  • Minimap und Micromap verfügbar, die einen schnellen Überblick über den (Quell-)Text ermöglichen und z.B. geänderte Textstellen oder weitere Vorkommen des gerade selektierten Wortes anzeigen.
  • HTML Farbcodes werden mit einer dem Farbcode entsprechend eingefärbten Linie unterstrichen.
  • Anzeige von Bildern im Text.
  • Hex-Editor Modus zur Anzeige des Inhalts von Dateien als Hexadezimalzahlen.
  • Session-Feature, d.h. der Editor öffnet beim Start wieder die Dateien, die beim letzten Lauf geöffnet waren. Dabei wird die Cursor-Position, der selektierte Text und auch eine evtl. manuell eingestellte Zeichenkodierung wiederhergestellt.

Die Benutzeroberfläche arbeitet, wie oben schon erwähnt, mit Tabs und kann mit der Hilfe von Plugins vollständig angepasst werden. Das bezieht sich sowohl auf das Hauptmenü, die Toolbar und die Tastaturkürzel als auch auf die Farbgebung der Oberfläche mit sog. Themes. Einige Themes liegen bereits bei, andere können nachinstalliert werden. Für viele Sprachen stehen Übersetzungsdateien zur Verfügung, mit dem die Benutzeroberfläche lokalisiert werden kann. Diese sind leider oftmals veraltet, für die deutsche Sprachdatei kann ich jedoch sagen, dass sie aktuell ist, da ich selbst deren Betreuung übernommen habe.

Hinweise zum Programm

Für Windows-Benutzer ist es etwas gewöhnungsbedürftig, dass es keinen Einstellungsdialog gibt. Programmeinstellungen (und davon gibt es eine Menge!) werden über eine Textdatei im JSON-Format konfiguriert. Es gibt ein Plugin mit dem dies etwas erleichtert wird, indem mit einer Volltextsuche in der angezeigten Liste der Einstellungen gesucht und ihr Wert gesetzt werden kann. Dieser Ansatz setzt sich seit einigen Jahren bei Texteditoren immer mehr durch.

Auch die Kommandoliste ist ein solches Feature, der Texteditor Sublime machte es bekannt. Per Hauptmenüeintrag oder Tastenkombination eingeblendet, stellt sie eine Volltextsuche nach allen verfügbaren Befehlen zur Verfügung. In der neusten Version, die in Kürze erscheinen wird, ist über die Kommandoliste auch die Suche nach gerade geöffneten Dateien und das Filtern der Ergebnisse nach Plugins und Lexern möglich.

Das Programm muss nicht installiert werden, der Download besteht aus einer ZIP-Datei, die in irgendein Verzeichnis, in dem man Schreibrechte hat, entpackt werden kann. Bei einem Update (kommt monatlich mehrmals vor) muss die neue Version nur in das bereits vorhandene Verzeichnis entpackt werden.

Sollte man Themes, Lexer oder andere Standard-Konfigurationsdateien angepasst haben, sollte man die neue Version natürlich in ein separates Verzeichnis entpacken und z.B. mit Hilfe des Textvergleich-Plugins die Änderungen aus der alten Version in die neue übernehmen. Die normalen Benutzereinstellungen werden allerdings in einem separaten Verzeichnis gespeichert, das beim Update NICHT überschrieben wird.

Ästheten, die nur einen kurzen Blick auf eine frisch ausgepackte Version von CudaText werfen, werden evtl. enttäuscht sein. Das Programm präsentiert sich zunächst als graue Maus mit sehr “modernen” (sprich langweilig-einfarbigen) Icons. Aber dem kann durch das Installieren von Plugins, Themes und Icon-Bibliotheken abgeholfen werden.

Als Fazit kann ich jedem nur empfehlen, sich das Programm mal anzuschauen. Das Engagement des Entwicklers ist vorbildlich und gewährleistet eine ständige Fortentwicklung des Projekts. Zu erwähnen ist natürlich auch, dass man sich je nach seinen persönlichen Möglichkeiten entweder an der Arbeit am Projekt in Form von Code beteiligen oder eine kleine Spende entrichten sollte (siehe “Sponsor” Button im GitHub Repository), wenn man CudaText regelmäßig nutzt. Denn nur so funktioniert Open Source auf Dauer.

Wikipedia-Artikel: https://de.wikipedia.org/wiki/CudaText
GitHub Repository: https://github.com/Alexey-T/CudaText
SourceForge Repository: https://sourceforge.net/projects/cudatext/
Homepage & Forum: http://www.uvviewsoft.com/cudatext/
Download-Seite: https://www.fosshub.com/CudaText.html


Anzeige
Dieser Beitrag wurde unter Software abgelegt und mit verschlagwortet. Setze ein Lesezeichen auf den Permalink.

1 Antwort zu Open Source Software-Projekt CudaText


  1. Anzeige
  2. Bernard sagt:

    Danke! Werde ich mir anschauen. Aber die Konkurrenz ist gross.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.