Martin77
16-12-2009, 00:57
Hallo,
ich bin auf der Suche nach einem Code Style Formatter, so wie ich ihn aus der Eclipse-Java-Umgebung (Code style - Eclipse SDK (http://help.eclipse.org/help33/index.jsp?topic=/org.eclipse.jdt.doc.user/reference/ref-preferences-code-generation.htm)) kenne. Im Zend Studio gibt es so etwas. Ist jemanden eine Open Source Lösung ohne Online-Dienst bekannt?
Nach einer Internet-Recherche
PHP_Beautifier (http://beautifyphp.sourceforge.net/) scheint bei weitem keinen vergleichbaren Funktionumfang zu haben.
Vielen Dank im Vorraus.
Wäre nicht schlecht, wenn du uns noch die IDE nennst, die du nutzt ;)
Sofern PDT: Schonmal unter "Source -> Format" geschaut?
Martin77
19-12-2009, 00:46
Ich benutze die aktuelle Eclipse PDT und dort gibt es unter Window > Preferences > PHP > Code Style keine weiteren Einstellungsmöglichkeiten als eine Tab-Größe.
onemorenerd
19-12-2009, 12:54
PDT formatiert gar nicht selbst sondern benutzt die in Eclipse vorhandenen Java-Formatter. Die kannst du unter Preferences > Java > Formatter bearbeiten.
Leider kann man das nicht durch projektspezifische Einstellungen überschreiben. Das geht nur bei Java-Projekten (wo man dann ja wieder kein PDT hat).
Trotzdem lege ich bei meinen Projekten immer ein File wie dieses (http://wiki.eclipse.org/PDT_Formatter_Configuration) mit ins Repository.
Fürs Zend Studio muss man das afaik ein wenig anpassen, damit es funktioniert.
Trotzdem lege ich bei meinen Projekten immer ein File wie dieses (http://wiki.eclipse.org/PDT_Formatter_Configuration) mit ins Repository.
Du hast neulich erwähnt deine IDE kann den @throws Tag auswerten … meintest du PDT? Und magst du mir erklären wie? =)
Ich bin mit Polystyle (http://www.polystyle.com/) einigermaßen zufrieden. Er beherrscht sehr viele Sprachen und läßt sich sehr detailgenau an die eigenen Vorlieben anpassen. Kostet 15 Dollar, also so 11 Euro.
Edit: Bei den Codestyle-Beispielen, die Du verlinkt hast, kann Polystyle aber nicht mithalten. Es ist ein reiner reformatter, fügt z.B. keine Kommentare hinzu usw.
Beitrag bearbeiten/löschen
onemorenerd
19-12-2009, 15:10
Du hast neulich erwähnt deine IDE kann den @throws Tag auswerten … meintest du PDT? Und magst du mir erklären wie? =)
Ich benutze Eclipse Ganymede mit PDT. In Preferences > PHP > Editor > Hovers habe ich u.a. Combined Hover (ohne Key) und Documentation (mit Shift) aktiviert. Wenn ich den Mauszeiger kurz über einem Funktionsnamen ruhen lasse, poppt ein Tooltip auf, der auch den phpDoc Comment der Funktion auswertet. Wenn ich nur diesen Teil sehen will, drücke ich Shift und hover über den Funktionsnamen.
In Galileo konnte man noch einen Code-Abschnitt markieren und iirc per Rechtsklick > Surround with > Try Catch Block wählen. Ich hatte das damals mit einem Patch auch in PHP-Projekten verfügbar gemacht und so aufgebohrt, dass es den Cursor in die Stelle des Type Hints im catch setzt und alle @throws aller Methoden im markierten Code als Autocompletion Liste anbietet.
In Ganymede gibt es dieses Surround With nicht mehr ... und weil ich beim Update einfach den ganzen Eclipse-Ordner überschrieben habe, gibt es meine Patches auch nicht mehr. (Mir fällt grad ein, dass sie eigentlich in älteren Backups stecken müssten ... :o)
Edit: MIt F2 kannst du den Tooltip auch öffnen, egal was du als Hover-Keys eingestellt hast.
Netbeans, rechter Mausklick im Source, Format anwählen - fertig.