TypoScript-Support für PHPStorm, Webstorm und IntelliJ

Zur Unterstützung bei der täglichen Arbeit mit den Sprachen TypoScript und TypoScript für Neos, haben wir dieses Plugin für die populären IntelliJ IDEs - IntelliJ IDEA, PHPStorm und Webstorm - von Jetbrains erschaffen. Sowohl für den Integrator als auch Programmierer sind Funktionen enthalten, welche die Wartung, Entwicklungszeit und die Fehlerquellen zu optimieren bzw. reduzieren helfen.

Die Features im Überblick

Syntax Highlighting / Code Folding

Mit Hilfe des TypoScript-Plugins sind die IntelliJ IDEs in der Lage TypoScript als Sprache zu erkennen und die syntaktischen Eigenheiten farblich hervorzuheben. Code-Strukturen können so schneller erkannt werden, so wie Sie es von anderen Sprachen gewöhnt sind.

Zusammengehörige Code-Blöcke können zudem eingeklappt werden, um eine bessere Übersicht innerhalb einer TS-Datei zu schaffen.

Autovervollständigung mit Multi-File Unterstützung

Das TypoScript-Plugin erkennt Objekte, Variablen und andere Konstrukte auch über Dateigrenzen hinweg und ist so in der Lage hilfreiche Vorschläge in der Autovervollständigung anzubieten. Das Autovervollständigungsmenü kann jederzeit mit der Tastenkombination Alt + Leertaste zu Rate gezogen werden.

Quick Documentation

Mit der Tastenkombination Strg + Q (Ctrl + J unter OSX), kann jederzeit die Dokumentation zu dem Symbol an der aktuellen Cursor-Position in einem Popup-Fenster aufgerufen werden. So können Einzelheiten über bspw. die Verwendung bestimmter Objekte schnell nachgeschlagen werden, ohne die IDE dabei zu verlassen.

Structure Tree und Breadcrumbs

Um eine bessere Übersicht über die Struktur des TypoScript-Codes zu bekommen, wird die Nesting-Tiefe der aktuellen Cursor-Position in einer Breadcrumb-Ansicht überhalb des Codes dargestellt. Zudem kann die Code-Struktur jederzeit über den Strukturbaum eingesehen werden.

Automatische Fehlererkennung

Um ärgerlichen Tipp- und Syntaxfehlern vorzubeugen, werden formale Fehler schon während des Schreibens erkannt und entsprechend visualisiert.

Inkludierte Dateien mit einem Klick öffnen

Kein lästiges Durchsuchen des Dateibaums mehr – inkludierte Dateien sind nur noch einen Klick entfernt. Mit der Tastenkombination Strg + Klick kann jederzeit bequem direkt in die referenzierten TypoScript-Dateien gesprungen werden.


Roadmap & Lizenz

Das TypoScript-Plugin für IntelliJ IDEs wird permanent weiterentwickelt und verbessert. Folgende Features sind bereits für die kommenden Versionen geplant. Ihnen fehlt ein Feature, oder Sie haben Verbesserungsvorschläge? – Gerne können Sie Kontakt mit uns aufnehmen, oder ein Issue in unserem Bugtracker anlegen.

  • Erkennung von TSref-Eigenschaften und Verlinkung der Online-Dokumentation
  • Optimierung der Fehlermeldungen
  • Unterstützung von Language-Injections für die üblichen Dateitypen (.ts, .php, .js, etc.)
  • Konfigurierbares Syntax-Highlighting
  • Implementierung eines lokalen Snippet-Speichers
  • Optimierung der Code-Generatoren
  • Transformieren von Code-Blöcken zu Einzeilern
  • Transformieren von Einzeilern zu Code-Blöcken

License

In general the usage of this software requires the payment of a small fee. Details about the commercial licence can be found here:

License Details

The already released software in our free related gitlab projects belongs to the MIT licence:

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.