PHPStorm中使用phpcs和php-cs-fixer进行代码格式化PSR-2

前言:良好的代码规范可以提高代码可读性,减少团队沟通维护成本,所以本文尝试PSR-2代码规范进行代码格式化。

正文:

(1)使用环境:

                    IDE:phpstorm2017.3.6

                    插件:phpcs和php-cs-fixer

(2)安装phpcs

composer global require 'squizlabs/php_codesniffer=*'

(3)安装php-cs-fixer

composer require friendsofphp/php-cs-fixer

注意:如果按照网上旧的教程,上面的命令会变成

composer global require fabpot/php-cs-fixer

fabpot/php-cs-fixer 这个包在Packagist上已经被Abandon了,可以使用,但是在使用过程中会报Warning,并且提示让你使用friendsofphp/php-cs-fixer,所以看到这篇文章的同志们可以直接安装friendsofphp/php-cs-fixer

如果已经安装了fabpot/php-cs-fixer,有强迫症想改成friendsofphp/php-cs-fixer,可以使用如下命令去掉composer依赖

composer remove fabpot/php-cs-fixer

(4)设置PHPStorm--phpcs

PHPStorm中使用phpcs和php-cs-fixer进行代码格式化PSR-2_第1张图片
PHPStorm中使用phpcs和php-cs-fixer进行代码格式化PSR-2_第2张图片

PhpStorm设置

● 步骤1:打开PhpStorm点击 File->Settings

● 步骤2:接着点击Languages & Frameworks->PHP->Code Sniffer点击Configuration右侧的按钮,

● 步骤3:选择PHP Code Sniffer (phpcs) path:的路径,就是刚才composer之后生成的那个phpcs.bat的路径。

● 步骤4:选择之后点击Validate验证成功

● 步骤5:节点点击Editor->Inspections展开点击右侧的PHP

● 步骤6:勾选PHP Code Sniffer Validation 选择右侧的PSR2

● 步骤7:点击验证成功 大功告成!!

效果:

PHPStorm中使用phpcs和php-cs-fixer进行代码格式化PSR-2_第3张图片

(5)设置PHPStorm--php-cs-fixer

PHPStorm中使用phpcs和php-cs-fixer进行代码格式化PSR-2_第4张图片
PHPStorm中使用phpcs和php-cs-fixer进行代码格式化PSR-2_第5张图片

name和description可自行填写

program需要填写php-cs-fixer的可执行文件地址,Windows上是用户目录\Roaming\Composer\composer\vendor\bin\php-cs-fixer.bat,linux和mac上是~/.composer/vendor/bin/php-cs-fixer

Arguments/parameters填--rules=@Symfony --verbose fix "$FileDir$/$FileName$",其中rules字段具体可以查看 php-cs-fixer 的官方文档,但是由于 Windows 的 cmd 有诸多限制,所以只能传入一些简单的规则,如果需要配置复杂规则建议使用配置文件来完成。

working directory填$ProjectFileDir$

插件配置好以后,到Keymap中设置一个快捷键,就可以使用了

PHPStorm中使用phpcs和php-cs-fixer进行代码格式化PSR-2_第6张图片

使用效果如下图

PHPStorm中使用phpcs和php-cs-fixer进行代码格式化PSR-2_第7张图片

由于我开启了Xdebug,这边会有Warning,意思是会影响效率,可以忽略,至此,PHPStorm中成功使用phpcs和php-cs-fixer进行代码格式化PSR-2

本文参考了:

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

2.PhpStorm PSR-2使用指南

3.PhpStorm集成PSR2代码自动检查

4.Package fabpot/php-cs-fixer is abandoned message in Magento 2

5.ATOM基础教程一php-cs-fixer配置(13)

你可能感兴趣的:(PHPStorm中使用phpcs和php-cs-fixer进行代码格式化PSR-2)