PHPStorm中使用php-cs-fixer进行自动代码格式化

我有钱了,我头发也白了,爹娘也没了。

环境准备

  • windows 10
  • phpstorm 2017.2
  • composer

开始配置

全局安装

1
composer global require fabpot/php-cs-fixer

配置

在phpstorm的File > Settings > Tools > External Tools菜单内进行php-cs-fixer的配置

1
2
3
4
1. name和description可自行填写
2. program需要填写php-cs-fixer的可执行文件地址,Windows上是用户目录\Roaming\Composer\composer\vendor\bin\php-cs-fixer.bat,linux和mac上是~/.composer/vendor/bin/php-cs-fixer
3.parameters填--rules=@Symfony --verbose fix "$FileDir$/$FileName$",其中 rules 字段具体可以查看 php-cs-fixer 的官方文档,但是由于 Windows 的 cmd 有诸多限制,所以只能传入一些简单的规则,如果需要配置复杂规则建议使用配置文件来完成。
4.working directory填$ProjectFileDir$

插件配置好后,到 File > Settings > Keymap 设置快捷键,快捷键设置好后就可以找个文件试一试了。我设置了快捷键crrl+shift+;

使用配置文件

由于 Windows 的 cmd 有诸多限制,所以只能传入一些简单的规则,如果需要配置复杂规则建议使用配置文件来完成

将我们的配置文件.php_cs.dist放在某一目录下, 我选择放在D:\phpStudy\php\.php_cs.dist

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
return PhpCsFixer\Config::create()
->setRiskyAllowed(true)
->setRules([
'align_multiline_comment' => true,
'no_trailing_whitespace' => true,
'no_short_echo_tag' => true,
'no_unused_imports' => true,
'array_syntax' => ['syntax' => 'short'],
'ordered_imports' => ['sortAlgorithm' => 'length']
])
->setFinder(
PhpCsFixer\Finder::create()
->exclude('tests/')
->in(__DIR__)
)
;

重新配置External Tools
parameters填

1
......

注意

在我们配置External Tools时可以选择是否open console

https://github.com/FriendsOfPHP/PHP-CS-Fixer