╔═════════════════════════════════════════════════════════════════════╗
║ Wundereditor                                                        ║
║ Donnerstag, 12. August 2021, 19:25                           inkeso ║
╚═════════════════════════════════════════════════════════════════════╝
Ich probiere von Zeit zu Zeit ganz gern mal neue Tools aus. Sei es um meinen Werkzeugkoffer zu erweitern oder als Ersatz zu bestehenden Tools.
Mein Stammeditor/IDE ist seit langer Zeit Geany (und wird es vermutlich auch bleiben), aber auch Geany hat so seine Ecken¹...

Und da kommt CudaText daher... sieht auf den ersten Blick vielversprechend aus, also zeig' mal.

Als erstes sind mir 2 Sachen positiv aufgefallen: Sehr schnell, sehr portabel (Keine Installation, ich kann das Programmverzeichnis inkl. meiner Konfig & Plugins einfach auf den nächsten Rechner kopieren, fertig).

Dann habe ich ein paar Stunden (!) mit der Konfiguration verbracht. Das ist nicht nötig, der funktioniert schon ab Werk, aber ich will ja wissen, was so alles geht. Ein paar der zahlreichen Plugins ausprobiert, Farbschema, Darstellung, Lexer nachinstallieren, sowas halt. Da ist sehr viel Konfigurierbar. Ein Füllhorn an Möglichkeiten. An der Stelle kann ich auch gleich die Dokumentation loben. Sie ist a) vorhanden, b) gut auffindbar und c) Umfangreich. Es gibt ein Wiki, ein Forum, Github und ich habe das Gefühl, der Hauptentwickler ist ganz gut hinterher.

Ähnlich wie mein aktueller GUI-Filemanger der Wahl (DoubleCommander) ist CudaText in Lazarus & Free Pascal gebaut. Damit ist das gleich mal so richtig crossplatform: Windows, Linux (Gtk2 oder Qt), macOS, *BSD... es gibt sogar einen inoffiziellen Haiku-Build...

Screenshot von CudaText, so wie ich ihn mir derzeit hingebastelt habe.

Alles Zusammen geht der jetzt in Runde 2: Ich werd den mal in der Praxis verwenden und gucken, was mich nervt oder begeistert.

Ein paar Sachen sind mir schon aufgefallen:

  1. Primary Copy-und-Paste per Auswahl und Mittelklick funktioniert nicht wie erwartet. Ja, man muss das vorher in der Konfig anschalten, aber auch dann fügt ein Mittelklick an der aktuellen Textcursorposition ein und nicht an der Mausposition. Das ist... seltsam.
    Ich habe auch keine Option gefunden, mit der man das Mittelklick-Verhalten auf "nativ" stellen kann.

  2. Es gibt nur ein Sidepanel mit "Tabs" für Symbolbaum, Projektbrowser, Dokumentliste und was man sonst noch so an Seitenleisten-Plugins an hat. Das ist bei Geany auch so, dort habe ich mir ein Plugin gebaut, damit ich den Symbolbaum extra habe, so daß Projektbrowser und Symbolbaum zeitgleich sichtbar sind. Ich bin noch nicht sicher, ob es mir möglich sein wird, das auch als Plugin in CudaText umzusetzen (wohl nicht).

  3. Ich finde es schade, daß im Projektbrowser immer nur genau ein Projekt angezeigt werden kann. Das macht den Projekt-Wurzelknoten irgendwie obsolet.

  4. Die Session-Verwaltung per Plugin fühlt sich umständlich an.


Aber es gibt eben auch echt coole Features:

  1. Multicursor ist flexibler als die strikte Spaltenauswahl bei Geany

  2. Tabs können wahlweise coloriert werden, man kann sich dateitypabhängige Symbole darin anzeigen lassen.

  3. bessere Calltips und Autocompletion

  4. Subblöcke in anderer Sprache (sowas wie ne HTML-Datei mit nem <style>-Block und nem <script>-Block werden mit anderem Hintergrund versehen und im Gegensatz zu Geany korrekt gesyntaxhighlightet.

  5. Horizontale Lineal (OK, brauche ich selten, aber schön daß es da ist. Ist jedenfalls einfach ablesbar als die Spaltennummer im Footer

  6. Dateivorschau bei Auswahl im Projektbrowser, inkl. Bilder!


Nun muss die Zeit zeigen, ob ich mir für die Negativpunkte Workarounds baue bzw. die Konfig verfeinere oder ob ich Geany treu bleibe und auf die paar coolen Features verzichte...