TextMate hat mich

Nur durch Zufall hab ich vor ein paar Tagen die Testversion von TextMate geöffnet, weil ich eine Ruby Datei von meinem werten Kollegen per Doppelklick geöffnet habe. Nun ja. Zwei Tage später hab’ ich das Programm gekauft. Ich hatte TextMate schon des öfteren mal getestet, wurde aber immer vom teilweise miserablen Textrendering abgestoßen. Textmate kann nur sehr schlecht mit proportionalen Schriften (Schriften ohne feste Breiten) umgehen. Wählt man zum Beispiel die Bitstream Vera Sans sieht der Quellcode wie folgt aus (zum Vergleich rechts daneben, wie es in BBedit aussieht).

Textmate Schriftenrendering im Vergleich mit BBEdit

In neueren Versionen weist TextMate netterweise darauf hin, dass man nur Monospace Schriften verwenden kann, was man beim Programmieren und Scripten aus praktischen Gründen ja eigentlich ohnehin machen sollte. Mit meiner (momentanen) Vorzugs-Schrift, der Vera Sans Mono, kommt Textmate auch prima zurecht. Und nach ein paar Testtagen war klar, dass ich das Ding kaufen will.

In der aktuellen Version sind bereits eine Vielzahl der sogenannten “Bundles” enthalten, die sprachspezifische Macros, Snippets, Templates, etc. beinhalten und einem das Leben als Webdesigner wirklich erleichtern.

Bundle Menu

Diese können entweder per Tastaturlkürzel, Tab-Trigger oder über ein Pulldown in der unteren Fensterleiste ausgeführt bzw. eingefügt werden. So kann man z.B. nach Einfügen eines Snippets mit der Tab-Taste durch verschiedene Stellen des eingefügten Codes springen, um dort Text zu ergänzen, z.B. id-Angaben und andere Attribute. Das geht sogar soweit, dass man einen Begriff per Tastenkombination in Tags einschließen kann und dann den Tagname eintippt und dieser wird im Anfangs- und Endtag gleichzeitig eingefügt. Die mitgelieferten Bundles können beliebig erweitert werden, ich habe mir zum Beisplie ein Snippet angelegt, bei dem ich nur “lorem” tippen muss und per Tab-Taste wird ein kompletter Blindtext-Paragraph eingefügt.

Wirklich nützlich sind auch die Projektverwaltungs-Funktionen. So kann man zum Beispiel eine Projektdatei anlegen und gezielt einzelne Dateien zum Projekt hinzufügen. Diese erscheinen dann in einem Drawer und können durch anklicken direkt in einem neuen Tab geöffnet werden. Möchte man ohne Projektdatei aber mit Drawer arbeiten, kann man einfach den Ordner, in dem sich das zu bearbeitende Projekt befindet auf das Textmate Icon ziehen und schon hat man alle Dateien in einer Baum-Ansicht zur Verfügung.

Nach mittlerweile einer Woche TextMate hab ich natürlich noch lange nicht alle Features ausprobiert, es bleibt also spannend.

Veröffentlicht am 25.11.2005 um 11:54 Uhr
1 Kommentar

Codevervollständigung mit BBEdit

Seit kurzem bin ich wieder passionierter BBEdit User. BBEdit ist ein toller Editor und läßt wirklich kaum Features vermissen, außer vielleicht eine Autocomplete Funktion, wie sie Editoren wie Dreamweaver, GoLive oder SKEdit schon seit langem unterstützen. In BBEdit gibt es leider keine klassische Variante davon mit automatisch ausklappendem Auswahlfeld, das kontextsensitiv die möglichen Vervollständigungen anzeigt. Es gibt allerdings eine nette kleine Funktion, mit der man sich eine eigene Codevervollständigung bauen kann: Auto-Complete Glossary.

Auto Complete Glossary Menu

Dabei geht man wie folgt vor:

1. Glossary Sets anlegen

Man kann innerhalb des Glossarys (Window > Palettes > Glossary) mehrere Sets anlegen. Zu diesem Zweck erstellt man im Ordner ~/Library/Application Support/BBEdit/Glossary/ einfach Unterordner, die die Endung der jeweiligen Sprache haben, für die sie verwendet werden sollen. Also XHTML.html für HTML Dateien und CSS.css für Stylesheets und so weiter. BBEdit wählt abhängig von der gerade geöffneten Datei dann automatisch das richtige Set aus. Glossary Items, die global verfügbar sein sollen kann man direkt im Glossary Ordner ablegen.

2. Glossary Einträge erstellen

Nehmen wir mal an, wir wollen einen Glossary Eintrag für das Attribut class erstellen. Dazu öffnen wir eine neue Textdatei und schreiben folgende Zeile

class=”#INSERTION#”

Der Platzhalter #INSERTION# markiert die Stelle, an der nach dem Einfügen der Cursor platziert wird. Jetzt speichert man die Datei im Ordner ~/Library/Application Support/BBEdit/Glossary/XHTML.html/ unter dem Namen “class” ab. Der Name der Datei bestimmt den Begriff, den man eintippen muss, um die Codevervollständigung ausführen zu können. Das kann also ein beliebiger Begriff sein. Damit es sich wie eine echte Codevervollständigung verhält halte ich es jedoch für sinnvoll, direkt die Namen der Attribute bzw. Tags zu verwenden. Bei Tags sollte man darauf achten, das < Zeichen am Anfang wegzulassen, da dieses von der Funktion Auto-Complete Glossary leider ignoriert wird (also z.B. „input“ statt „< input />”).

3. Funktion Auto-Complete Glossary

Im Menu Edit findet man die Funktion Auto-Complete Glossary. Diese kann dazu verwendet werden, Glossary Einträge anhand der zuletzt geschriebenen Zeichenfolge zu finden und einzufügen. Tippt man also ”cl” und führt dann Auto-Complete Glossary aus, findet BBEdit unseren zuvor angelegten Eintrag class und fügt ihn ein. Damit die Funktion auch wirklich sinnvoll nutzbar ist, sollte man ihr allerdings über Set Menu Keys ein Tastaturkürzel zuweisen (z.B. Apfel-Return).

4. Tastaturkürzel für Glossary Einträge

Auch sehr nützlich ist das Zuweisen von Tastaturkürzeln zu Glossary Einträgen. So kann man zum Beispiel sehr einfach Textbereiche von Tags umschließen lassen. Als Beispiel nehmen wir mal eine normale Headline. Der Glossary Eintrag sieht wie folgt aus:

<h1>#INSERTION##SELECT#</h1>

Bei diesem Eintrag ist nun zusätzlich zum #INSERTION# Platzhalter noch der #SELECT# Platzhalter hinzugekommen. Er macht es möglich, dass man einen beliebigen Textabschnitt auswählen kann und dann über einen vorher gesetztes Tastaturzkürzel (z.B. Apfel-alt-Shift 1) als Headline taggen kann. Der ausgewählte Text wird dann an Stelle des #SELECT# Platzhalters eingefügt.

Damit ihr jetzt nicht alle wie wild HTML Tags nachtippen müsst, hab ich mal meine aktuellen Glossary Sets für XHTML und CSS zum Download in ein Disk-Image gepackt. Einfach runterladen und in den Ordner ~/Library/Application Support/BBEdit/Glossary/ kopieren.

DMG Icon

Veröffentlicht am 22.10.2005 um 21:05 Uhr
4 Kommentare