Skip to content

Instantly share code, notes, and snippets.

@mpalourdio
Created November 12, 2014 21:24
Show Gist options
  • Save mpalourdio/46f792347cf9d46b121c to your computer and use it in GitHub Desktop.
Save mpalourdio/46f792347cf9d46b121c to your computer and use it in GitHub Desktop.
@fabpot php-cs-fixer config for PhpStorm
parameters
--level=psr2 --verbose fix $FileDir$/$FileName$
working directory
$ProjectFileDir$
@unglud
Copy link

unglud commented Dec 1, 2017

If I put it to After Commit Run Tool how can I fix all commited files instead only one currently opened?

@j3rrey
Copy link

j3rrey commented Nov 20, 2018

Step by step:

composer global require friendsofphp/php-cs-fixer

paste this export PATH="$PATH:$HOME/.composer/vendor/bin" into your .zshrc or .bashrc or .profile depending on your system usually located at your HOME directory
Linux: .bashrc
Mac: .profile
Mac with Oh my zsh : .zshrc

Save this code as watcher.xml on your harddrive.
You can further edit the arguments aka add rules:
<option name="arguments" value="fix $FileDir$/$FileName$ --allow-risky=yes rules=@PSR2, @Symfony" />
Various rules can be found here : Rules By default the cs Fixer uses PSR2

<TaskOptions>
  <TaskOptions>
    <option name="arguments" value="fix $FileDir$/$FileName$ --allow-risky=true" />
    <option name="checkSyntaxErrors" value="true" />
    <option name="description" />
    <option name="exitCodeBehavior" value="ERROR" />
    <option name="fileExtension" value="php" />
    <option name="immediateSync" value="false" />
    <option name="name" value="PHP CS Fixer" />
    <option name="output" value="" />
    <option name="outputFilters">
      <array />
    </option>
    <option name="outputFromStdout" value="false" />
    <option name="program" value="$USER_HOME$/.composer/vendor/bin/php-cs-fixer" />
    <option name="runOnExternalChanges" value="false" />
    <option name="scopeName" value="Project Files" />
    <option name="trackOnlyRoot" value="false" />
    <option name="workingDir" value="$ProjectFileDir$" />
    <envs />
  </TaskOptions>
</TaskOptions>

Import it in phpstorm:
PHPstorm->preferences->tools->File Watchers
Import

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment