Toolbox: Geany für Code und Text

Es muss ja nicht immer gleich Eclipse sein: Der Texteditor Geany für Linux und Windows bietet die grundlegenden Eigenschaften einer integrierten Entwicklungsumgebung (IDE), bleibt dabei aber kompakt und übersichtlich.

In Pocket speichern vorlesen Druckansicht 15 Kommentare lesen
Lesezeit: 7 Min.
Von
  • David Wolski
Inhaltsverzeichnis

Das Feld der Texteditoren für Programmierer und Web-Entwickler scheint klar aufgeteilt zu sein: Auf der einen Seite stehen Schwergewichte wie Eclipse und Emacs, auf der anderen Seite scharen sich unzählige, kleine Texteditoren, die gerade mal die wichtigsten Funktionen bieten. Genau dazwischen liegt der Editor Geany und füllt ganz offensichtlich eine Lücke. Für die meisten Projekte ist eine ausgewachsene Entwicklungsumgebung schlicht Overkill, während optionale Hilfsmittel wie erweiterbare Syntaxhervorhebung, Auto-Vervollständigung, Funktionsbrowser, Plug-in-Interface und ein integrierter Compiler aber ganz nützlich sind.

Die Editor-Komponente wurde von Scintilla übernommen und bietet dessen Stärken – etwa Code-Folding.

Geany bietet genau das und ein bisschen mehr. Der Editor erfordert kaum Einarbeitung und lässt sich weitgehend intuitiv bedienen. Die Oberfläche basiert auf GTK+; sie ist dreigeteilt und wirkt aufgeräumt. Geany ist unter der GPL 2 lizenziert und steht für Linux und Windows zur Verfügung, wobei die Größe des Programms in beiden Fällen nur wenige Megabyte beträgt. Die Linux-Version kommt ohne viele Abhängigkeiten aus und ist damit schnell installiert – zumal Geany in den Repositories der großen Linux-Distributionen wie Debian, Ubuntu, Fedora und OpenSuse enthalten ist.

Geany für Code und Text (6 Bilder)

Klassen und Funktionen

Die Seitenleiste bietet einen Symbol-Browser, um bequem zu Quelltext-Stellen zu springen.

Das Projektmanagement von Geany ist simpel und fasst ein Set geöffneter Dateien zusammen.

Die Editor-Komponente hat sich Geany von Scintilla geliehen – dieselbe Komponente kommt auch bei anderen Open-Source-Editoren wie Komodo und Notepad++ zum Einsatz. Geany beherrscht damit eine erweiterbare Syntaxhervorhebung für 48 Programmier- und Skriptsprachen. Eine komplette Liste findet sich in der Doku im Netz. Nützlich für längere Quelltexte aller Art ist Code-Folding, um einzelne Blöcke, Funktionen und Klassen per Klick einklappen zu können. Für die schnelle Navigation im Code gibt es einen Symbol-Browser, der in einer optionalen Seitenleiste untergebracht ist und allein durch die Erkennung der Syntax eine brauchbare Liste von Klassen, Funktionen und sonstigen Definitionen liefert. Ebenfalls zuvorkommend ist die Autovervollständigung, die sich wahlweise auf alle Wörter im geöffneten Dokument erstreckt, oder auch nur auf jene Symbole, die der Quellcode schon mitbringt.

Das Projektmanagement von Geany funktioniert nach dem KISS-Prinzip („Keep it small and simple“) und bietet die Möglichkeit, alle gerade geöffneten Dateien zu einem Projekt zusammenzufassen. Für jedes Projekt kann man dann eigene Make-Targets, Compile-Befehle und Run-Kommandos definieren. Diese Befehle stehen per Klick über die Menüleiste bereit. Der Editor speichert zudem automatisch die aktuelle Sitzung und lädt beim nächsten Start des Editors die geöffneten Dateien erneut. In allen geöffneten Dateien lässt sich nach einer Zeichenkette suchen, auch mit regulären Ausdrücken, denen ein eigenes Kapitel in der englischsprachigen Geany-Dokumentation gewidmet ist.

Wie es sich für eine Entwicklungsumgebung gehört, hat Geany auch einen Compiler an Bord.

Das Geany-Programmfenster ist dreigeteilt: Neben der Seitenleiste, die wahlweise einen Symbol- oder Dateibrowser beherbergt, gibt es unten ein Fenster für alles, was beim Programmieren, Kompilieren und Debuggen sonst noch anfällt. Hier landen in eigenen Registern die Statusmeldungen des Editors, mit denen sich der Workflow überprüfen lässt. Bei der Fehlersuche helfen die Compiler-Meldungen. Ein Register nimmt Notizen auf und ein weiteres bietet ein Terminal, das standardmäßig xterm verwendet, was sich aber in den Einstellungen ändern lässt. Zum Debugging ist der untere Fensterteil enorm wichtig, wer ihn nicht braucht, kann ihn aber ebenso wie die Seitenleiste permanent ausblenden.

Wenn der gebotene Funktionsumfang nicht reicht, kann man mit Plug-ins Geany weitere Fertigkeiten beibringen. Mittlerweile gibt es etwas mehr als zwei Dutzend Plug-ins für Geany. Auf der Projekt-Webseite stehen alle zusammen als EXE-Datei für Windows und im Quellcode für Linux zur Verfügung. Unter Linux lassen sich die Plug-ins aber einfacher über den Paketmanager von Debian, Ubuntu und Fedora installieren. Welche Plug-ins es hier gibt, erfragt unter Debian/Ubuntu der Befehl apt-cache search geany-plugin und bei Fedora das Kommando yum search geany-plugins. Die Plug-in-Webseite des Geany-Projekts beschreibt, was die Plug-ins können.

Obwohl sich Geany auch für die Web-Entwicklung eignet, fehlt eine wichtige Eigenschaft, die sonst fast jeder Editor für PHP, Javascript, HTML & Co. beherrscht: Geany kann nur Dateien von lokalen Laufwerken öffnen, beziehungsweise in der Windows-Version von Windows-Freigaben. Den Netzwerkzugriff über FTP, SSH und WebDAV haben die Entwickler bewusst weggelassen, um die Abhängigkeiten von Geany gering zu halten. Um auf Dateien in entfernten Verzeichnissen zuzugreifen, müssen diese schon auf andere Weise eingebunden sein. Bei Gnome beispielsweise über Gvfs (Gnome Virtual File System), das über den Dateimanager Nautilus bereitsteht und das FTP, SSH, SMB sowie WebDAV unterstützt. SSH-Verbindungen können unter Linux dank FUSE auch mittels sshfs als Laufwerk gemountet werden.

Zum Nachinstallieren gibt es dunkle Farbschemata, die direkt in die Syntaxdefinitionen geschrieben werden müssen.

Viele Quellcode-Editoren setzen auf eine inverse Optik mit heller Schrift auf dunklem Grund. Anders Geany, das allerdings auch keine Themes bietet, um zu einem anderem Farbschema umzuschalten. Die Farben des Editors sind wie bei Scintilla üblich direkt in die Syntaxdefinition für unterstützte Dateitypen eingetragen, wo sich für jeden Dateityp eine andere Optik definieren lässt. Dabei kann man auf die Arbeit anderer Geany-Anwender zurückgreifen. Das dunkle Farbschema von Textmate beispielsweise ist bereits für Geany portiert und steht auf Google Code zum Download. Das Zip-Archiv enthält modifizierte Definitionsdateien, die ins Verzeichnis /usr/share/geany kopiert werden müssen und dabei die vorhandenen Dateien ersetzen. Es empfiehlt sich deshalb, vom Verzeichnisinhalt zunächst ein Backup zu machen, um wieder zur Standard-Optik zurückkehren zu können.

Geany bietet eine gute Mischung aus fortgeschrittenen Features, bequemer Bedienung und kompakter Oberfläche. Ausprobieren lohnt, denn das Programm ist sowohl unter Linux als auch Windows flott und unkompliziert installiert – und bei Nichtgefallen auch schnell wieder entfernt. Die Lernkurve ist flach, denn das Meiste kennt man schon von anderen Editoren. Und für ein Programm dieser Größenordnung enthält Geany eine Menge Funktionen. Erfreulich ist die Anpassungsfähigkeit: Die Einstellungen sind umfangreich; der Editor lässt sich aber auch auf das Nötigste begrenzen, wenn Seitenleiste und Ausgabefenster schon zuviel sind.

Einige Nachteile entstehen durch die Editor-Komponente Scintilla. Das Umschalten zu einem anderen Farbschema ist umständlich und gelingt nur über die Syntax-Definitionsdateien. Die solide Scintilla-Codebasis hat seit Jahren keine großen Fortschritte gemacht und unterstützt keine Rechts-nach-links-Sprachen. Bei westlicher Schrift und Programmcode fallen die Probleme des Editors aber kaum ins Gewicht. (lmd)