Bluefish ist DER Gnome-Webeditor. Lange Zeit wurde an dem Editor gearbeitet und gefeilt, bis dann endlich 2005 die Version 1.0 erschien. Aktuell wird 1.0.7 mit Ubuntu ausgeliefert. Es wird weiterhin an Bluefish gearbeitet, aktuell ist man bei Version 1.3.5-unstable (Juni 2009).
Nun stellt sich die Frage, welchen Editor teste ich? Ich habe mich für die Unstable-Version entschieden, werde aber auch hier und da auf 1.0.7 eingehen. Bluefish war der erste Webeditor, den ich vor Jahren unter Linux testete und auch der Erste bei meinem Umstieg auf Ubuntu (Edgy). Nun ja, er verhielt sich damals recht behäbig, die Schrift sah grausam aus, Suchen und Ersetzen dauerte bei großen Dokumenten eine Ewigkeit und er stürzte auch gern ab. Mit gemischten Gefühlen ging ich dann an den Test für diese Serie. Was soll ich sagen – jetzt bin ich richtig baff und habe mich fast in ihn verliebt.
Installation der Unstable-Version
In den Ubuntupaketen ist die Version 1.0.7 vorhanden. Wer die Unstable-Version installieren möchte (bitte beachten, dass Ihr das auf eigene Gefahr macht!), kann die einzelnen Dateien als .deb-Pakete hier herunterladen (lasst Euch nicht von der Überschrift „Intrepid“ täuschen) oder bindet gleich die Quellen in /etc/apt/sources.list ein:
deb http://debian.wgdd.de/debian unstable main contrib non-free
deb-src http://debian.wgdd.de/debian unstable main contrib non-free
Weiterhin wird der Archivschlüssel benötigt. Ladet diesen hier herunter, öffnet ein Terminal und bindet ihn mit folgender Anweisung ein, wenn die Datei auf dem Desktop liegt:
sudo apt-key add Desktop/wgdd_archive_key.asc
Anschließend die Paketinfos updaten und Bluefish installieren:
sudo apt-get update
sudo apt-get install bluefish-unstable
Die Unstable-Version wird neben einer eventuell vorhanden Bluefish-Version aus den Ubuntupaketen installiert. Es lassen sich also beide nebeneinander nutzen! Ich weiß jetzt nicht, ob auf diese Art auch die Plugins gleich mitinstalliert werden, denn ich verwendete Synaptic. So sieht das dann aus:
Die 4 markierten Pakete sollten installiert sein.
Funktionen
Wie sieht es mit den Voraussetzungen aus? Erste Überraschung: Die neue Version erfüllt alle Vorgaben für den Test! Calltipp‑ und Autocomplete-Funktionen haben Einzug gehalten. Diese sind zwar etwas anders gelöst, die Projektverwaltung ist gegenüber der stabilen Version umständlicher anders zu handhaben und auch die komfortable Snippetverwaltung ist nun einem Plugin gewichen. Darüber kann man aber gern hinwegsehen, das ist reine Gewöhnung. Letzteres geschah wohl zu Gunsten eines übersichtlicheren und leichter zu wartenden Quellcodes des Hauptprogrammes. Was kann das Programm noch? Hier eine Zusammenfassung:
- Mehrere geöffnete Dateien möglich, mit Tabs zur Anwahl
- Blöcke können zusammengefaltet werden (neudeutsch: Code-Folding)
- komfortable Lesezeichen
- Sonderzeichen‑Übersicht
- Infobrowser (umfangreiche Dokumentationen zu PHP, CSS, (X)HTML u.v.a.)
- komfortabel anpassbare Shortcuts (siehe Tipps & Tricks)
- frei schwebende Menüs möglich (siehe Tipps & Tricks)
- unterschiedliche Zeichencodierungen werden unterstützt
- jede Menge Assistenten (im Menü Dialoge und in den Symbolleisten)
- Bilder einfügen mit automatischer Thumbnailerstellung
- umfangreiche Konvertierungen möglich
- Frei schwebende Fenster (siehe Tipps & Tricks)
- Zugriff über FTP
- Synchronisierung von ganzen Ordnern
- HTML‑ und CSS-Funktionen sind übersichtlich in Tabs organisiert
- Mit dem Tab „Schnellzugriff“ lassen sich die meist benötigten Funktionen individuell zusammenfassen
- u.v.m.
Projektverwaltung richtig konfigurieren
Widmen wir uns nun der Projektverwaltung und der Möglichkeit, PHP-Seiten über den Webserver zu starten (also über http://localhost/…). Früher konnte man die Pfade im Dialogfenster „Neues Projekt“ eingeben und es funktionierte sofort. So sah es noch in Version 1.0.7 aus:
In der neuen Version fehlen die Felder Basisverzeichnis und URL-Vorschau. Ich habe Olivier Sessink angeschrieben und gefragt, ob das ein Bug oder Feature ist. Er antwortete zum Glück sehr schnell → die Funktion ist nur verschoben! Man muss jetzt im Filemanager (in der Sidebar) den Projektordner suchen, mit der rechten Maustaste darauf klicken und den Punkt Set as Documentroot wählen. Jetzt erreicht man die beiden Felder, die im Projektdialog entfallen sind. Etwas seltsam, ich vermute, so kann man in einer Session die Pfade festlegen, ohne gleich ein Projekt anlegen zu müssen. Edit: Olivier bestätigte mir diesen Grund in einer zweiten Mail!
Leider funktioniert die Vorschau von PHP-Dateien immer noch nicht. Wenn man auf den Browserknopf klickt, startet zwar Firefox, bietet die Datei aber zum Download an. Abhilfe fand ich dann in den Einstellungen unter Externe Befehle. Dort ändert man den Befehl für den Firefox in:
firefox '%p'
Et Voila, jetzt klappt es mit dem Nachbarn. Die Einstellungen solltet Ihr Euch in Ruhe anschauen und Schritt für Schritt durchgehen. Das Programm ist äußerst flexibel. Wichtig! Wenn Ihr Änderungen vorgenommen habt, immer noch einmal den Menüpunkt Bearbeiten → Einstellungen speichern wählen und wenn Ihr mit Projekten arbeitet, sicherheitshalber auch unter Projekt den Punkt Speichern wählen. Sicher ist sicher.
Arbeiten mit Snippets
Ich erwähnte schon, dass die Snippets in ein Plugin ausgelagert wurden. Schaut bitte in den Einstellungen nach, ob diese auch aktiviert sind. Es sollte in der Sidebar ein eigenes Fenster existieren. Und so funktioniert es:
- Wie auf dem Bild links zu sehen ist, muss in der Sidebar die Snippetsübersicht gewählt werden. Beim ersten Start ist sie leer.
- Über das Contextmenü (mit der rechten Maustaste) lassen sich diverse Aktionen aufrufen. Wählt als Erstes „Neuer Schnipsel“. Es erscheint ein Dialogfenster wie auf dem mittleren Bild. Da sich die Schnipsel auch ordentlich gruppieren lassen, wählt man zuerst den ersten Punkt „Gruppe“ und gibt im folgenden Dialog dieser einen Namen. Im Beispiel nenne ich sie „PHP“. Ist die Gruppe angelegt, klickt man (wieder mit der rechten Maustaste) darauf und wählt einen der nächsten Punkte. Die Bedeutung sollte klar sein. Ich nehme jetzt „Zeichenkette“.
- Im darauf folgenden Dialog gibt man dem Schnipsel einen Namen und kann eine Beschreibung hinzufügen (erscheint später als Tooltipp). Danach erscheint das Fenster wie im Bild rechts. Jetzt gebt den Text für den Schnipsel ein. Der Umgang mit diesem Dialog ist gut beschrieben. Eine feine Sache sind die einfügbaren Platzhalter (%0, %1 … %9). Es lassen sich also 10 Abfragen für variable Einträge einfügen. Wie im Bild zu sehen, können diese auch mehrmals verwendet werden! An der gewünschten Stelle setzt man einfach den Platzhalter ein und in den 10 Feldern rechts formuliert man die Frage, die dazu gestellt werden soll.
Die Schnipsel von Bluefish bieten ein mächtiges Werkzeug, immer wiederkehrende Aktionen zu hinterlegen und über die 3. Funktion in der Auswahl (mittleres Bild) auch Suchen‑ und Ersetzen-Muster. Damit lassen sich sogar reguläre Ausdrücke speichern!
Die Krönung ist dann die neue Funktion Export/Import von Schnipseln. Ganze Gruppen lassen sich so im XML-Format speichern. Das ist gut für Backups und man kann interessante Gruppen auch anderen Usern zur Verfügung stellen. So wäre die Weitergabe ganzer API-Kataloge denkbar, z.B. für TemplateTags, JavaScript-Framworks, usw. Ich hoffe, dass aus der Community heraus nach und nach eine feine Sammlung entsteht.
Tipps & Tricks
Hier noch ein paar Tipps zum Umgang mit Bluefish:
- Anpassen der Shortcuts: Das ist ganz einfach gelöst. Einfach im Menü den gewünschten Punkt auswählen (nicht anklicken!) und den neuen Shortcut drücken. Dauerhaft speichern lassen sich diese über den Menüpunkt Bearbeiten → Shortcuts speichern.
Von meinem Editor war ich es gewohnt, den Zeilenumbruch mit Shift+Return, sowie ein geschütztes Leerzeichen mit Shift + Leertaste einzugeben. Im Menü Tags → Formatierung allgemein konnte ich das einfach übernehmen.
- Frei schwebende Menüs: Das ist ein interessantes Feature, welches ich bei anderen Programmen vermisse. Jedes Menü und Untermenü hat als ersten Eintrag eine gestrichelte Linie. Klickt man darauf und zieht die Maus an einen freien Platz auf dem Desktop, wird das entsprechende Menü dort platziert. Momentan werden beim Programmende diese Einstellungen noch nicht gespeichert, ich habe das als Idee aber schon an Olivier weitergegeben und stieß zumindest nicht auf Ablehnung.
- Frei schwebende Fenster: Wer kennt das nicht. Oft benötigt man mehrere Dateien, um Code zu vergleichen oder Teile von der einen Datei in der anderen wieder zu verwenden. Das Umschalten über Tabs ist da nicht die beste Lösung. Deshalb können Fenster aus den Tabs „herausgenommen“ werden. Probiert es einfach mal aus. Fenster aktivieren und den Menüpunkt Dokument → Freie Fenster anwählen.
- Der Dateibrowser in der Sidebar lässt sich auch vielseitig konfigurieren, geht einfach mal die Punkte im Contextmenü durch.
- Arbeitet man mit Projekten, empfiehl es sich – nachdem man den Projektordner gewählt hat – über das Contextmenü den Punkt Als Basisverzeichnis setzen anzuwählen und das Projekt noch einmal zu speichern. Nach erneutem Start und Auswahl des Projektes werden nur die Projektordner angezeigt, das ist viel übersichtlicher.
- Der Geschmack ist zwar individuell, in Bluefish macht sich als Schrift die Liberation Mono sehr gut. Diese kann über folgende Zeile im Terminal einfach installiert werden:
sudo apt-get install ttf-liberation
Fazit
Bluefish hat mich wirklich überrascht. Das Programm ist schnell, stabil und sehr komfortabel geworden. Schon Version 1.0.7 bietet zumindest dem Hobbyprogrammierer einiges an Komfort und ausreichend Unterstützung. Wer auf die Autocomplete-Funktion verzichten kann, sollte diesen Editor nehmen, er ist in den Ubuntu-Paketen enthalten. Aber schon für die Erstellung von CSS-Dateien ist es eine enorme Hilfe.
Der Kontakt zu den Programmierern verlief auch schnell und sie haben ein offenes Ohr! Olivier hofft, dass die Version 2.0 Ende des Sommers fertig wird, vielleicht schafft sie es ja in den Karmic Koala?
Für mich hat die lange Suche nach einem guten Editor endlich ein Ende. Ich werde aber trotzdem noch die anderen besprechen, wenn vielleicht auch nicht so ausführlich. Im nächsten Teil schaue ich mir dann mal die Editoren aus der Eclipse-Ecke an (Eclipse, Aptana, Easy Eclipse).
Bis dahin, Turicon
Navigation