Natürlich benutzt man in einer idealen Welt im gesamten Code identischen CodeStyle. In der Realität kann es Situationen geben (z.B.: Migration von Legacy-Code in neue Struktur), in denen man in einem Projekt mehrere CodeStyles nutzt. Leider ist es in PhpStorm nicht möglich, verschiedene Bereiche des Codes unterschiedlich zu formatieren. Aber wenigstens kann man in unterschiedlichen Bereichen die Inspections gesondert schalten.
Mein Usecase hierfür sieht so aus: Allgemein importieren wir natürlich unsere Klassen, wer möchte schon \Some\Long\Namespace\with\bells\and\whistles\MyClass
im Code stehen haben, wenn MyClass
genügt? Eine Ausnahme machen wir in Konfigurationsdateien, z.B. in der ServiceManager-Config. Dort haben wir dann so was:
Um das zu beheben erzeuge ich zuerst mal einen Scope, der alle Config-Dateien beinhaltet:
Dann will ich die Inspection, die in meinem Code meckert für Config-Files muten. Um die nicht in der langen Inspection-Liste suchen zu müssen, drücke ich Alt-Enter auf angemeckertem Code. Mit Pfeil-Rechts öffne ich die Options zur Inspection und dann Enter auf “Edit inspection profile setting“
Hier stelle ich “In All Scopes” um auf “Config”.
Ich könnte die Inspection ganz ausschalten (“Enable in file scope” aus), habe mich aber für “No highlighting, only fix” entschieden. So wird kein Fehler angezeigt, ich könnte den Quick-Fix aber immer noch mit Alt-Enter aufrufen. Just in case.
Da der CodeSniffer zusätzlich über zu lange Zeilen meckert schalte ich den in Config-Files die Warnings auf die Severity “Typo” runter.
Das funktioniert so semi-gut – er zeigt gar nichts mehr an. In Config-Dateien bin ich damit fein. Resultat: Grüner Haken an der File!