Skip to content

VSCode und Redaxos PHP_CS_FIXER_CONFIG (auf dem Mac) #326

@christophboecker

Description

@christophboecker

Ich bin mir nicht so sicher, ob das hier wirklich eine für alle funktionierende Lösung ist, oder ob es eher durch Zufall funktioniert. Ich gebe sie trotzdem mal weiter, weil es ein sehr einfacher Prozess ist ohne zusätzlichen Code. Und vieleicht hat jemand eine einfache Adaption für Windows-Systeme ....

Abweichend von der Beschreibung hier aus @aeberhard´s Feder habe ich auf dem Mac eine Variante basierend auf Homebrew aufgesetzt:

Vorarbeit auf System-Ebene

  1. Brew bzw. Homebrew muss installiert sein. Ggf. CakeBrew als Dialog-Tool.
  2. Über Brew ist PHP für die Command-Line installiert. (Bei mir kommen auch Apache/MySQL/SAPI-PHP über Brew)

Redaxos PHP_CS_FIXER_CONFIG bereitstellen

  1. Über Brew Composer installieren. Composer wird später seine geladenen Pakete in ~/vendorablegen.
  2. Im Terminal den Composer-Befehl composer require --dev redaxo/php-cs-fixer-config gemäß https://github.com/redaxo/php-cs-fixer-config eingeben. Dann werden alle notwendigen Komponenen geladen; inkl. php_cs_fixer.

in VSCode junstyle.php-cs-fixer installieren

  1. junstyle.php-cs-fixer als Extension installieren
  2. In den Settings folgende Einstellungen tätigen (ggf. direkt in der Settings-Datei):
    • "php-cs-fixer.executablePath": "~/vendor/friendsofphp/php-cs-fixer/php-cs-fixer"
      Grund: Performance, denn dann muss junstyle.php-cs-fixer nicht immer die mitgebrachte .phar entpacken.
    • "php-cs-fixer.config": ".php-cs-fixer.php;.php-cs-fixer.dist.php;~/vendor/redaxo/php-cs-fixer-config/.php-cs-fixer.dist.php",
      Ruft, wenn es keine individuelle Konfigurations-Datei im Workspace gibt, die Redaxo-Konfiguration auf.
    • "[php]": {"editor.defaultFormatter": "junstyle.php-cs-fixer"}
      Macht junstyle.php-cs-fixer zum Default-Formatter

Updates

  1. Im Terminal eingeben: composer update

Läuft bei mir auf dem Mac ohne Probleme. Es muss auch kein zusätzlicher Ladecode geschrieben werden, da das CLI-PHP von Brew die Autoload-Datei von Composer berücksichtigt.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions