phpstorm 集成 phpCodeSniffer

本文主要指导如何在 phpstorm 中集成 phpCodeSniffer(简称:phpCS)

  • 安装 phpCS
  • 如何在 phpStorm 中加载 phpCS
  • 如何加载自定义的 phpCS 的 xml 规则文件
  • 如何在 php 文件中实时提示
  • 如何根据规则实时修正

phpStorm 官方指导文档:https://www.jetbrains.com/help/phpstorm/using-php-code-sniffer.html

安装 phpCS

安装 phpCS 有多种途径,可以参考 https://github.com/squizlabs/PHP_CodeSniffer#installation

我们使用 composer 方式安装,为了便于在所有项目中使用 phpCS,我们使用全局方式安装。

1
composer global require "squizlabs/php_codesniffer=*" -vvv

安装完成后,会多出两个指令 phpcsphpcbf

在 phpStorm 中加载 phpCS

按照截图的路径 File > Settings > Language & Framework > PHP > Quality Tools > Code Sniffer,选择 Local 后选择刚才的安装路径。

如果不清楚刚才安装的全局路径,Linux 下可使用 whereis phpcs 查看路径。其他系统可自行搜索 “composer 全局 bin 目录” 获取更多帮助。

或者,你也可以用 composer global config bin-dir --absolute 来查看 composer 的 bin 目录`

加载自定义 xml 规则文件

首先,需要开启 phpCodeSniffer 的验证提示,如截图所示。其次,在截图右下角,选择 custom 来加载自定义的 xml 文件。

加载完毕后,即可正常对打开的 PHP 文件进行实时检测。

实时验证 PHP 文件

进行上述配置后,对打开的 PHP 文件会进行实时检测。

如图所示,对于不符合规范的代码,会进行波浪线显示,鼠标悬浮后可以看到详细说明。

自动修正

光标放置在波浪线处,按下组合键 alt + enter,选择 PHP Code Beautifier and Fixer 即可修正。

修正后

总结

结合 phpCS,我们可以在开发时实时检测团队代码规范,便于在提交前进行规范统一。

集成在 IDE 中的 phpCS 可以对打开的文件进行实时检测,如果需要对整个项目或者是指定的文件夹进行检测,可以直接使用 phpcs 命令进行检测,使用 phpcbf 进行修正。