Rogoit Webdesign Duisburg

Webdevelopmet Blog

Clean Code, PhpStorm Tricks, TYPO3, Codeception, Command Line Interface, Software-Qualität und vieles mehr.
Webdevelopment Blog
 

PhpStorm Parameter Name Hints: Optimierungssache

Parameter PhpStorm

PhpStorm Parameter Name Hints: Optimierungssache

Mit der Version 2017.1 kam eine auffällige Neuerung zu Jetbrains PhpStorm hinzu: die Parameter Name Hints im Editor. Da das Update unter Linux mittlerweile per Knopfdruck möglich ist, habe ich es ziemlich früh installiert und (wie viele Bekannte auch) spontan kein großes Gefallen daran gefunden.

Vor- und Nachteile der Parameter Name Hints

Mein erster Eindruck: Das stört den Lesefluss, wenn ich meinen Code noch einmal überfliege.

Mein nächster Eindruck kam in einem IT-Meeting zustande: Manchmal ist es doch recht praktisch, wenn man fremden Code lesen möchte. Vor allem, wenn man die Maus nicht selbst in der Hand hat und somit keine Hover-Hinweise hat.

Und auch wenn man Hover-Hinweise selbst ansteuern kann, so hat man immer einen kurzen Moment, in dem man den Lesefluss unterbrechen muss.

Vorteil #1: SQL-Dateien

Die IDE erleichtert das Lesen von INSERT-Queries. Vor allem bei Tabellen mit vielen Spalten oder unterschiedlich langem Inhalt empfinde ich das als sehr praktisch:

Parameter Name Hinting bei SQL-Dateien in PHPStorm

Nachteil #1: Anzeige der Zeilenlänge

Wenn ihr auf eine maximale Zeilenlänge achtet und dafür einen Hilfsmarker (vertikale Linie) aktiviert habt, ist dieser leider in vielen Fällen obsolet geworden:

Die erste Zeile sieht nur so aus, als wäre sie zu lang, die zweite Zeile ist wirklich zu lang.

Die erste Zeile sieht nur so aus, als wäre sie zu lang, die zweite Zeile ist wirklich zu lang.

Diese Liste werde ich gerne im Laufe der Zeit und auch anhand eurer Kommentare erweitern!

Einstellungen

Jetbrains hat zum Glück die Möglichkeit eingebaut, die Hinweise zu formatieren, auszublenden und/oder zu konfigurieren.

In diesem Artikel soll die Konfiguration besprochen werden.

Dieses Fenster findet ihr unter File > Settings > Editor > General > Appearance

 

Dort kann man mit einem Klick auf den Button „Configure“ eine Liste pro Programmiersprache editieren. Da ich hauptsächlich mit Symfony arbeite, zeige ich euch im Folgenden ein paar meiner PHP-Einstellungen.

PhpStorm Parameter Name Hints

Diese Liste zu optimieren, bedarf natürlich eines gewissen Maßes an Selbstreflektion. Jetbrains hat hier schon eine recht generische Liste vorgegeben. Alle weiteren Einträge könnt ihr danach ausgerichtet anlegen, bei welchen Parametern und Methoden ihr sicher keine Hilfe mehr benötigt.

QueryBuilder

Als Symfony-Entwickler nutzt man häufig Methoden aus dem Doctrine-Umfeld. Wie man am Screenshot oben sieht, sind Methoden mit den Parametern (key, value) bereits ausgeschlossen.

Trotzdem werden diese Parameter bei dem Methoden-Aufruf von setParameter noch angezeigt:

Nullable Values müssen in der Konfiguration berücksichtigt werden. Beispiel: setParameter() im QueryBuilder

PhpStorm Parameter Name Hints

Das liegt daran, dass setParameter noch einen weiteren (nullable) Parameter akzeptiert. Also habe ich diesen Eintrag der Konfiguration hinzugefügt:

 

Außerdem gibt es im QueryBuilder noch die Methode select() mit dem Parameter $select. Hier wäre es wirklich praktisch, wenn es die Möglichkeit gäbe, Methoden auszuschließen, deren einziger Parameter genauso heißt wie die Methode. Gibt es aber (noch?) nicht. Deshalb habe ich auch alle Methoden ausgeschlossen, die ausschließlich $select erwarten:

Für QueryBuilder-Methoden, wie eq() und neq() habe ich letztlich noch diese Zeile hinzugefügt:

PHP-Root

Der Hinweis „format“ für die DateTime-Methode format() fällt in die gleiche Kategorie wie select() weiter oben:

 

Diese Liste möchte ich gerne erweitern!

Ich werde diesen Artikel nach und nach erweitern. Genau wie meine Konfiguration auch.

Ich übernehme auch gerne eure Ideen und Hinweise:

Welche Zeilen habt ihr zur Konfiguration hinzugefügt – oder habt ihr das neue Feature sogar gänzlich deaktiviert? Schreibt uns eure Meinung per Kommentarfunktion hier im Blog oder bei Twitter!

Franziska Hahn

Franziska arbeitet seit 2008 in der Webentwicklung und ist dabei über eine Agentur und eine Community zur FinTech gelangt. Neben der Backend-Entwicklung beschäftigt sie sich auch mit der Skizzierung von Prozessen. Sie ist leidenschaftliche Speakerin mit dem Fokus, Zuhörer über den Tellerrand blicken zu lassen.

2 Comments
  • Posted at 12:17 pm, April 6, 2017

    Das ist mir auch schon aufgefallen. Dazu habe ich auch ein Ticket bei Jetbrains eingereicht

    https://youtrack.jetbrains.com/issue/WI-35747

    Wenn die Variable so heißt, wie der Parameter wird es auch nicht angezeigt. Das macht echte Probleme bei der Formatierung.

  • Posted at 9:01 am, Mai 27, 2017

    Leider kann man den Kommentar von Franziska nicht lesen.

    Ich arbeite derzeit hauptsächlich mit TypeScript und dort ist es ganz unterschiedlich ob die NameHints angezeigt werden. Solange ich in selbst definierten Klassen und Funktionen arbeite funktioniert es wunderbar, aber wehe ich referenzieren auf Bibliotheken wie JQuery per .d.ts oder nutze gar Vanilla JS. Dann ist keine Chance mehr auf diese Funktionalität.

    Ich hoffe das JetBrains das ganze weiter verfolgt und das ganze vielleicht noch ein wenig verfeinert.

Post a Comment

Comment
Name
Email
Website