Wie schon angekündigt bin ich derzeit auf der Suche nach der perfekten IDE, die die Arbeit mit TYPO3 effizienter gestaltet. Die letzten Tage habe ich mich ziemlich ausführlich mit dem kommerziellen Zend Studio und dem (teilweise, in der Pro Edition kommerziellen) Aptana Studio (beides sowohl als Standalone-Version als auch Eclipse-Plugin erhältlich) auseinandergesetzt. Ein wichtiger Punkt einer perfekten IDE sind für mich Code Snippets bzw. auch Code Templates genannt. Ein paar Unterschiede (sowohl pro als auch contra), die mir aufgefallen sind möchte ich euch nun etwas näher bringen und einige Gründe erläutern, warum das Zend Studio in meinen Augen hier ganz klar die Nase vorne hat.
Da ich ein Mensch bin, der sich beim Entwickeln gerne nur auf das Wesentliche konzentriert und nicht unnötig in APIs nachschlagen oder den selben Code immer wieder schreiben möchte, benutze ich gerne Code Snippets. Diese sind aus meinem Leben nicht mehr wegzudenken und somit ein wichtiger Bestandteil meines Arbeitsablaufes.
Aptana Studios „Code Snippets“ (Version 1.2)
Den Anfang möchte ich mit meiner aktuell bevorzugten IDE machen, dem Aptana Studio. Neben besserem HTML und CSS Support bietet diese IDE auch IntelliSense für JavaScript-Libraries wie jQuery oder Prototype, welche für meine Arbeiten eine sehr wichtige Rolle spielen.
Aptana Studio bietet sogenannte „Code Snippets“ an. Das Erzeugen eines neuen Snippets gestaltet sich dabei jedoch als relativ aufwändiges Unterfangen. Zuerst muss ein neues Projekt angelegt werden, dort ein Folder, und indem werden dann .css, .html, .php-Files angelegt, je nachdem für welche Sprache ein Snippet geschrieben werden soll. Diese Datei muss dabei bestimmten Regeln folgen: ein Header-Comment welches folgende Eigenschaften festlegt:
/*
category: TYPO3
name: t3lib_DB::exec_SELECTgetRows
language: php
prompt(select_fields): Enter select_fields
prompt(from_table): Enter from_table
prompt(groupBy): Enter groupBy
prompt(orderBy): Enter orderBy
prompt(limit): Enter limit
*/ |
Beim Einfügen des Snippets ist ein kleiner Wizard vorangeschaltet, in dem der Benutzer Werte für die Variablen, welche mit prompt(varname) definiert werden, eingeben kann. Diese ersetzen dann die entsprechenden Marker im Snippet.
Klingt alles ganz gut und schön und funktioniert auch. Leider fehlt den Code Snippets im die Möglichkeit Variablen zu verwenden, welche zum Beispiel das aktuelle Jahr oder den Author automatisch ersetzen. Außerdem muss ich, um ein Snippet einzufügen, meine Hand von der Tastatur nehmen, da es keine Shortcuts gibt und man das Snippet nur durch einen Doppelklick im View einfügen kann. Weiters fehlt noch die Möglichkeit Snippets für neue Files zu definieren. Alles in allem eine sehr umständliche Sache angefangen beim Anlegen neuer Snippets bis hin zum Einfügen. Ein echter Wehrmutstropfen für mich als Aptana-User.
Zend Studio for Eclipse’s „Code Templates“
Anders das Zend Studio. Im Bezug auf Code Templates läuft hier alles so, wie ich das von einer perfekten IDE erwarten würde. Um ein neues Template anzulegen brauche ich hier kein Projekt und keinen Ordner, sondern gehe einfach im Eclipse-Menü unter Window > Preferences > PHP > Code Templates und erstelle mit einem Klick auf den „New“-Button ein neues Snippet. Dabei kann ich auch den Gültigkeitsbereich auswählen, sprich ich kann mir aussuchen wann dieses Template zum Einsatz kommt. Ich kann zum Beispiel ein Template definieren, welches ich direkt beim Anlegen einer neuen Datei auswählen kann, oder ein Template, welches ich durch Code-Completion direkt im Code einfügen kann.
Letzteres ist für mich ein wichtiger Pluspunkt im Vergleich zum Aptana Studio. Um in Zend Studio for Eclipse zum Beispiel die Methode t3lib_DB::exec_SELECTgetRows einfügen zu können tippe ich t3lib_DB, drücke STRG+Leertaste um die Vorschläge zu bekommen und wähle per Drop-Down-Feld einfach mein gewünschtes Code Template aus. Et voila, schon ist es in meinem Code. Keine unnötigen Wege mit der Maus, kein Stoppen des Tippens durch das Entfernen meiner Hand. Als zusätzliches Gimmick kann ich mit der TAB-Taste durch meine definierten Variablen und diese der Reihe nach ersetzen. Zusätzlich unterstützt das Zend Studio noch Variablen, die von der IDE dynamisch mit den richtigen Werten gefüllt werden (Name des Authors, Jahreszahl, Datum, etc.).
Für mich bleibt zu sagen: ich wünsche mir wirklich, dass Aptana sich etwas vom Zend Studio abschaut und vielleicht in einer der nächsten Versionen die Features zur Snippet-Erstellung von Zend Studio übernimmt, oder zumindest das Einfügen ermöglicht ohne die Hand von der Tastatur nehmen zu müssen. Nachdem ich gerade meine Snippet-Bibliothek aufbaue, werde ich vielleicht in naher Zukunft, wenn die wichtigsten Snippets erstellt wurden, diese hier zum Download anbieten.
Falls ihr selbst zu den Nutzern von Code Snippets gehört, bitte postet eure Erfahrungen in eurer Entwicklungsumgebung in den Comments! Ich denke, das würde nicht nur micht, sondern auch die breite Leserschaft interessieren!