PHP CS Fixer
除了内置的编码辅助功能外,PhpStorm 还通过与 PHP CS Fixer 工具的集成提供源代码检查,该工具可以检测代码中的编码标准问题。
要从 PhpStorm 使用 PHP CS Fixer 而不是命令行,您需要在 PhpStorm 中注册它并将其配置为 PhpStorm 代码检查。 在 PhpStorm 中安装并启用后,该工具可用于任何打开的 PHP 文件,无需额外步骤即可启动。 即时代码检查会在文件的每次更新时激活,从而轻松消除发现的问题。
PHP CS Fixer 即时报告的问题会在编辑器中以与 PhpStorm 内部代码检查 报告的错误和警告相同的方式突出显示。 当工具以批处理模式运行时,错误和警告会显示在 问题工具窗口 中。 每条消息都有 PHP CS Fixer 前缀,以将其与 PhpStorm 内部检查区分开来。
先决条件
在将 PHP CS Fixer 集成到 PhpStorm 之前,请确保满足以下先决条件:
您使用的是 PHP CS Fixer 2.8.0 或更高版本。
包含 PHP 引擎可执行文件的目录必须添加到系统
path。 这允许代码质量工具脚本调用系统范围的 PHP 引擎。对于基于 Docker Compose 的 远程解释器 ,请确保使用
docker-compose exec模式以避免生成额外的容器。在 设置 对话框 (Ctrl+Alt+S) 中,前往 。
在打开的 PHP 页面上,单击
,位于 CLI 解释器 列表旁边。
在打开的 CLI 解释器 对话框中,为所选解释器设置 生存期 模式为 连接到现有容器('Docker-compose exec')。

安装和配置 PHP CS Fixer
使用 Composer 安装 PHP CS Fixer
当您使用 Composer 安装 PHP CS Fixer 时,PhpStorm 会自动下载必要的脚本,将其注册到 IDE 中,并可选地启用和配置相应的 代码检查。
在 composer.json 中,将
friendsofphp/php-cs-fixer依赖项记录添加到require或require-dev键中。 要获取包名称和版本的代码补全,请按 Ctrl+Space。请执行以下操作之一:
单击编辑器面板顶部的 安装 快捷链接。
如果启用了 未安装的 Composer 包 检查,PhpStorm 将突出显示当前未安装的声明依赖项。 按 Alt+Enter 并选择是要安装特定依赖项还是一次性安装所有依赖项。
单击 ,位于 composer.json 编辑器边栏中的包记录旁边,将带您到相应的 设置 页面,您可以在其中 手动配置 PHP CS Fixer。

重置 PHP CS Fixer 配置
PHP CS Fixer 初始配置完成后,在 composer.json 中的进一步修改将不会影响检查配置。 要应用更新的更改,请重置 PHP CS Fixer 配置。
在 设置 对话框(Ctrl+Alt+S )中,导航到 。
点击
列表旁的 配置。
在打开的 PHP CS Fixer 对话框中,清空 PHP CS Fixer 路径 字段。

通过单击 composer.json 编辑器面板顶部的 更新 更新项目的 Composer 依赖项。 有关更多信息,请参阅 更新依赖项。
PhpStorm 将重新执行 PHP CS Fixer 配置,从而应用 composer.json 中的更改。
在 PhpStorm 中配置 PHP CS Fixer
当您 使用 Composer 安装 PHP CS Fixer 时,PhpStorm 会自动检测到 PHP CS Fixer 的可执行文件位于 vendor/bin 文件夹中,并设置系统路径中配置的 PHP 解释器来运行它。
在 设置 (Ctrl+Alt+S )| 中,您可以更改默认的 PHP 解释器,设置路径为 手动下载并安装的 PHP CS Fixer 可执行文件 ,或添加一些选项以在 PhpStorm 中运行 PHP CS Fixer 时传递给它。

配置 :在此字段中,您可以更改默认的 PHP 解释器和 PHP CS Fixer 可执行文件的路径。
要仅更改解释器,请从项目中配置的本地和远程 PHP 解释器列表中选择所需的项目。
要更改 PHP CS Fixer 可执行文件的路径,或同时更改解释器和路径,请单击
,位于 配置 列表旁边,以打开 PHP CS Fixer 对话框,并按照 PHP CS Fixer 对话框 参考页面上的说明编辑字段。
显示被忽略的文件 :使用此设置 从 PHP CS Fixer 验证检查中排除文件。 有关更多信息,请参阅 质量工具 参考页面。
选项 :在此区域中,添加选项以 将 PHP CS Fixer 作为 PhpStorm 检查运行。 按照 PHP CS Fixer 参考页面 中的说明编辑字段。
启用 PHP CS Fixer 作为 PhpStorm 检查
有两种方法可以将 PHP CS Fixer 设置为 PhpStorm 检查:在 使用 Composer 安装 PHP CS Fixer 期间自动设置,或在 PhpStorm 的检查设置中手动设置。
通过 Composer 启用 PHP CS Fixer 检查
您可以在 scripts 部分中包含有关默认和自定义 PHP CS Fixer 规则集的信息,位于 composer.json 。 当您 安装 或 更新 项目依赖项时,指定的规则集将被检测到,并且 PHP CS Fixer 验证 检查将自动启用。
如果在 scripts 部分的 composer.json 中未指定规则集,PhpStorm 将另外检查项目根目录以定位具有 .php_cs 或 .php_cs.dist 默认名称的规则集。 如果文件存在,它将被自动选为检查的 自定义 规则集。
在
scripts部分的 composer.json 中,将php-cs-fixerPHP CS Fixer 启动命令添加到其中一个叶子元素中。提供
--rules参数以表示使用的编码标准。 例如,添加以下记录将把编码标准设置为 PSR1:"scripts": { "php-cs-fixer": "php-cs-fixer --rules=@PSR1" }或者,提供
--config参数和规则集文件的路径,这将把编码标准设置为 自定义:"scripts": { "php-cs-fixer": "php-cs-fixer --config=./.php_cs" }
在检查设置中启用 PHP CS Fixer 验证
在 设置 对话框(Ctrl+Alt+S )中,点击 检查 下的 编辑器。
在打开的 Inspections 页面上,展开 节点并选中 PHP CS Fixer 验证 旁边的复选框。

在页面的右侧窗格中,配置 PhpStorm 如何处理 PHP CS Fixer 检查输出:
以批处理模式运行 PHP CS Fixer
修复 PHP CS Fixer 检测到的问题
使用快速修复修复问题
检测到问题后,PhpStorm 会根据 PHP CS Fixer 的 检查设置 突出显示它。
将光标放在检测到的问题上,然后单击
,或按 Alt+Enter。从弹出菜单中选择 PHP CS Fixer:修复整个文件。 请注意,这将修复当前文件中检测到的所有问题。
通过代码重新格式化修复问题
您可以通过运行 重新格式化代码 操作修复 PHP CS Fixer 检测到的问题。
在 质量工具设置 中将 PHP CS Fixer 设置为外部格式化器。
为此,在 设置 对话框(Ctrl+Alt+S )中,转到 并在 外部格式化工具 部分中选择 PHP CS Fixer。

将 重新格式化代码 应用于所需的文件或项目范围:
对于编辑器中打开的代码片段或文件,从主菜单中选择 或按 Ctrl+Alt+L。
对于 Project 工具窗口中选定的文件、目录或文件组,从上下文菜单中选择 或按 Ctrl+Alt+L。
与团队共享自定义编码风格
将您的编码标准的根目录放在 项目根目录 下。
指定您的编码标准。
确保在 Inspections 页面顶部选择了一个 项目配置文件。 此类配置文件保存在特定项目的 .idea 目录中(例如, $PROJECT_DIR$/.idea/inspectionProfiles )。 欲了解更多信息,请参阅 检查配置文件。
从 PHP CS Fixer 检查中排除文件
当等待 PHP CS Fixer 响应的时间超过 工具进程超时 字段中在 PHP CS Fixer 对话框中指定的限制时,PhpStorm 建议将文件添加到 忽略列表。
在 设置 对话框(Ctrl+Alt+S )中,导航到 。
点击 显示被忽略的文件 链接。
要添加文件,请单击
并在打开的对话框中找到所需的文件。
要从列表中删除文件并让 PHP CS Fixer 再次处理它,请选择该文件并单击
。
要从列表中删除所有文件,请单击
。
