Heute wollen wir uns Geany näher anschauen. Ich habe ganz unverhofft Hilfe von einem Leser erhalten, der gern mit Geany arbeitet und der mir ein Review samt Screenshots schickte. Viele kennen ihn von Ubuntuusers.de, dort ist er mit dem Nick „dauerbaustelle“ unterwegs. An dieser Stelle ein ganz dickes Dankeschön an Dich!
Ich werde also zuerst die Eindrücke von dauerbaustelle wiedergeben, immerhin arbeitet er intensiv mit dem Programm und kennt die Eigenheiten. Anschließend werde ich noch ein paar Worte zu dem Editor verlieren. Los gehts:
Ein weiterer wichtiger Editor für GNU Linux/Ubuntu (welcher übrigens auch unter Windows läuft) ist Geany (http://geany.org). Von Haus aus unterstützt der schlanke, schnelle GTK-basierte Editor Syntaxhighlighting für viele Programmier‑ und Markup-Sprachen (C, C++, Java, Ruby, PHP, Python, HTML, CSS, XML, LaTeX, SQL, …), Quellcode-Folding (Codeteile ausblenden) und bietet vielfältige Einstellungsmöglichkeiten.
Ein integriertes, virtuelles Terminal, eine Anzeige für Compiler-Meldungen, sowie ein Notizbrett machen das Entwickeln von Software und Webseiten komfortabel; das Rangieren mit vielen offenen Dateien auf einmal funktioniert tadellos und wird bequem durch frei platzierbare Tabs gehandelt.
Besonders nützlich ist das Quellcode-Springen: Durch Gedrückt halten von „STRG“ und Klicken auf eine im Code verwendete Variable springt Geany automatisch an die Stelle im Sourcecode, an der diese Variable definiert wurde. Dies funktioniert gleichermaßen mit Klassen und Funktionen.
Code-Vervollständigung
Geanys Code-Vervollständigung kann durchaus mit anderen großen Entwicklungsumgebungen (IDEs) mithalten. Die Qualität, Vollständigkeit und „Intelligenz“ der Vorschläge ist jedoch stark von der verwendeten Programmier‑ bzw. Markupsprache abhängig (so ist die Unterstützung für PHP sehr zufriedenstellend und vollständig, beim Erstellen von HTML‑ und CSS-Code wird man allerdings nicht unterstützt). Unabhängig von der eingesetzten Sprache ist die Vervollständigung für vom Benutzer definierten Variablen, Funktionen und Klassen. Geany indexiert diese vollständig und verhindert somit überflüssige Tipparbeit und nervige Vertipper.
Unter anderem für PHP zeigt Geany auch erweiterte Informationen über Funktionen und Klassen während dem Tippen an (erwartete Parameter und ihre Typen).
Code-Templates
Ein bemerkenswertes Feature, welches Geany mitbringt, ist die automatische Ergänzung von Codeschnipseln (oder –templates, wenn man so möchte). Diese in der Datei „snippets.conf“ versteckten Vorlagen können viel Schreibarbeit sparen, so kann per Eingabe von class und anschließendem drücken der Tabulatortaste ein Code wie dieser ergänzt werden:
/**
* Documentation goes here
*/
class <CURSOR> extends FooBar {
/**
* Construct the class
* @param foo
* @param bar
*/
public function __construct($foo, $bar) {
$this->foo = $foo;
$this->bar = $bar;
}
}
wobei je nach Definition der Eingabecursor ans Ende oder an eine beliebige Stelle im Schnipsel springen kann (hier würde man den Cursor an die Stelle mit „<CURSOR>“ platzieren).
Weitere Features und Plugins
Ein eingebauter Klassen‑, Funktions‑ und Variablenbrowser, ein Dateibrowser, eine Projektverwaltung und viele weitere Plugins wie Version-Control-System-Unterstützung (SVN, GIT, VCS, …), Split-Screen-Ansicht, Unix-Diff-Unterstützung und ein kleiner aber feiner Farbwähler zur „Klicki-Bunti“-Wahl von Farben (welche als Hexadezimalwert zurückgegeben werden und z.B. sofort in CSS-Dokumenten weiterverwendet werden können) lassen keine Wünsche offen.
Die Installation der Plugins ist allerdings nicht immer ganz leicht, da einige nicht als Pakete in den Ubuntu-Paketquellen verfügbar sind und selbst gebaut (kompiliert) und installiert werden müssen. Zu guter Letzt hat Geany ein paar Templates für Quellcode-Dokumente und Lizenzen vordefiniert, besonders das Letztere erspart dem begeisterten Freie-Software-Entwickler einen Teil des qualvollen „Lizenz-einfügen-und-richtig-platzieren“-Gefummel.
Fazit
Geany ist eine empfehlenswerte IDE für Programmierer jeglicher Gesinnung, die schnell und hindernisfrei Quellcode niederschreiben, dabei aber durch Syntaxhighlighting, Autovervollständigung, Code-Templates und leichte Navigation durch umfangreiche Projekte und lange Dateien unterstützt werden möchten. Da die Codevervollständigung und die Anzeige von Funktionsparametern noch ausbaufähig sind, richtet sich Geany vor allem an Entwickler, die sich beim Programmieren nicht auf die Dokumentation der Entwicklungsumgebung verlassen – also an Programmierer mit Erfahrung. Oder solche, die es werden wollen.
Soweit der Beitrag von dauerbaustelle, nochmals: Vielen Dank!!
Bei meinen eigenen Tests stand natürlich HTML, CSS, JavaScript und PHP im Vordergrund. Und wie oben schon erwähnt, wird HTML/CSS/JS doch etwas stiefmütterlich behandelt. Für alle drei gibt es KEINE Autocomplete‑ oder Call Tipp-Funktion. Für CSS und JavaScript konnte ich aber die Funktionsübersicht in dem Tab „Symbole“ nutzen. Gegenüber Gedit kann aber Geany wenigstens HTML-Tags vervollständigen.
Eine direkte Vorschaufunktion für HTML-Dokumente oder PHP-Dateien (die über den Webserver aufgerufen werden müssen) ist nicht integriert. Über einen Umweg kann man aber zumindest teilweise eine solche Funktion nutzen. Dazu lege ein Projekt an:
Ist es erstellt, ruf über das Menü Projekt die Eigenschaften auf:
Wichtig ist die letzte Zeile und am Ende des Pfades (über den Webserver) das %f. Klickt man nun in der Symbolleiste auf „Erstellen“, ruft es die aktuelle Datei im Firefox auf. Einziger Wermutstropfen: Sobald eine Datei in einem Unterverzeichnis liegt, erkennt das der Editor nicht und es kommt zu einem 404-Fehler.
Vor fast 2 Jahren habe ich mit einem der Entwickler per Mail Kontakt aufgenommen. Ich wollte wissen, ob es eine Snippet-Funktion gibt. Ⅾauerbaustelle erwähnte dieses „versteckte Feature“ ja schon, dieselbe Antwort bekam ich dann auch. Da ich diese Funktion recht intensiv nutze, finde ich es nicht gerade komfortabel, in einer Config-Datei zu hantieren. Deshalb hakte ich nach, ob denn eine komfortablere Bedienung über die Oberfläche in naher Zukunft zu erwarten sei. Als Antwort erhielt ich dann folgendes: „Nun, eine Textdatei zu bearbeiten, halte ich schon für sehr komfortabel. Andere User kommen damit bestens zurecht…“ Hmm, ok. Wenn man es so sieht?
Mein Fazit
Geany ist eine kleine, feine IDE für Programmierer (Python, Ⅽ und die, deren Sprache gut unterstützt wird). Als reiner Webeditor ist er wohl nicht die Nr. 1, außer vielleicht für die erst genannte Klientel wie dauerbaustelle, die eh schon mit Geany arbeitet und ab und zu mal eine Webseite erstellt. Trotzdem kann ich nur empfehlen, es mal mit Geany zu probieren, immerhin hat jeder User andere Prioritäten und wenn in Foren nach HTML-Editoren gefragt wird, taucht Geany immer wieder mit auf.
Als nächstes werde ich mich mit Bluefish beschäftigen, der sich ja als reiner HTML-Editor versteht. Das wird aber wohl noch etwas dauern, denn nächste Woche geht es erst einmal in den Urlaub. Oder findet sich noch jemand, der über Eclipse/Aptana, Bluefish, Quanta+ oder Kommodo schreiben möchte?
Navigation