PhpStorm 2021.3 Help

PHP CS 修复程序

除了内置的编码帮助之外,PhpStorm 还通过与PHP CS Fixer工具的集成来检查源代码,该工具可以检测代码中的编码标准问题。

要从 PhpStorm 而不是命令行使用 PHP CS Fixer,您需要在 PhpStorm 中注册它并将其配置为 PhpStorm代码检查。一旦在 PhpStorm 中安装并启用,该工具就可以在任何打开的 PHP 文件中使用,并且不需要额外的步骤来启动它。文件中的每次更新都会激活动态代码检查,因此可以轻松摆脱发现的问题。

PHP CS Fixer 即时报告的错误和警告显示为弹出消息。当该工具以批处理模式运行时,错误和警告会显示在“问题”工具窗口中。每条消息都有PHP CS Fixer前缀以将其与 PhpStorm 内部检查区分开来。

您可以应用预定义规则或定义您自己的自定义规则集

先决条件

在将 PHP CS Fixer 集成到 PhpStorm 之前,请确保满足以下先决条件:

  • 您正在使用 PHP CS Fixer 2.8.0 及更高版本。

  • 必须将包含 PHP 引擎可执行文件的目录添加到系统中path。这允许代码质量工具脚本执行对系统范围的 PHP 引擎的调用。

  • 对于基于 Docker Compose 的远程解释器,请确保使用execmode 以避免产生额外的容器。

    1. 设置/首选项对话框 ( Ctrl+Alt+S) 中,转到PHP

    2. 在打开的PHP页面上,单击CLI 解释器列表浏览按钮旁边的。

    3. 在打开的CLI 解释器对话框中,将所选解释器的生命周期模式设置为连接到现有容器 ('docker-compose exec')

      docker-compose exec 用于 PHP 解释器

安装和配置 PHP CS Fixer

PHP CS Fixer 脚本可以用作本地脚本、与 PHP 解释器关联的脚本,或者声明为项目依赖项并通过Composer安装的脚本,这是首选和推荐的方式。

使用 Composer 安装 PHP CS Fixer

在开始之前,请确保 Composer 已安装在您的计算机上并在当前项目中初始化,如Composer 依赖项管理器中所述。

当您使用 Composer 安装 PHP CS Fixer 时,PhpStorm 会自动下载必要的脚本,在 IDE 中注册它们,并且可以选择启用和配置相应的代码检查

  1. composer.json中,将friendsofphp/php-cs-fixer依赖记录添加到requireorrequire-dev部分。按Ctrl+Space以获得包名称和版本的代码完成。

  2. 执行以下操作之一:

    • 单击编辑器面板顶部的安装快捷方式链接。

    • 如果启用了未安装的 Composer 包检查,PhpStorm 将突出显示当前未安装的已声明依赖项。按Alt+Enter并选择是否要一次安装特定依赖项或所有依赖项。

点击composer.json设置/首选项按钮编辑器gutter中包记录旁边的,跳转到对应的Settings/Preferences页面,手动配置PHP CS Fixer

composer.json 中 php-cs-fixer 设置的装订线图标

重置 PHP CS Fixer 配置

初始配置 PHP CS Fixer 后,composer.json中的进一步修改不会影响检查配置。要应用较新的更改,请重置 PHP CS Fixer 配置。

  1. 设置/首选项对话框 ( Ctrl+Alt+S) 中,导航到PHP | 质量工具

  2. 在打开的质量工具页面上,展开PHP CS Fixer区域并单击配置列表浏览按钮旁边的。

  3. 在打开的PHP CS Fixer对话框中,清空PHP CS Fixer 路径字段。

    空 PHP CS Fixer 路径字段
  4. 通过单击composer.json编辑器面板顶部的更新来更新项目 Composer 依赖项。有关详细信息,请参阅更新依赖项。

PhpStorm 将重新执行 PHP CS Fixer 配置,从而应用composer.json中的更改。

手动配置 PHP CS Fixer

您可以使用手动下载的本地 PHP 代码质量工具脚本或与 PHP 解释器关联的脚本。可以有许多本地和远程 PHP 解释器,在Settings/Preferences对话框的PHP页面上指定的解释器被认为是Project Default在配置远程 PHP 解释器配置本地 PHP 解释器中了解有关配置 PHP 解释器的更多信息。

选择要使用的 PHP CS Fixer 脚本

  1. 设置/首选项对话框 ( Ctrl+Alt+S) 中,导航到PHP | 质量工具

  2. 在打开的质量工具页面上,展开PHP CS Fixer区域。从配置列表中,选择 PHP CS Fixer 脚本:

    • 要使用与特定远程 PHP 解释器关联的脚本,请选择该解释器的名称。

    • 要使用本地脚本,请选择Local。在这种情况下,无论项目中使用的是本地还是远程 PHP 解释器,都将执行本地 PHP CS Fixer。请注意,PHP CS Fixer 只能有一个本地配置,因为 PhpStorm 运行包含 PHP 引擎路径的脚本( Windows 为php -cs-fixer.bat ,Linux 和 macOS 为 php-cs-fixer)。

    • 要使用与默认项目解释器关联的脚本,即在设置/首选项对话框的PHP页面上选择的脚本,请选择默认项目解释器

配置本地 PHP CS Fixer 脚本

  1. 下载并安装PHP CS Fixer脚本。

    要检查 PHP CS Fixer 安装,请切换到安装目录并运行以下命令:

    php-cs-fixer --version

    如果该工具可用,您将收到以下格式的消息:

    PHP CS Fixer 2.13.0 Yogi's BBQ 由 Fabien Potencier 和 Dariusz Ruminski

    要根据您自己的自定义编码标准检查代码,请创建它。将规则和指向它们的.php_csphp_cs.dist文件存储在规则根目录中。

  2. 在 PhpStorm 中注册本地 PHP CS Fixer 脚本:

    • 设置/首选项对话框 ( Ctrl+Alt+S) 中,导航到PHP | 质量工具

    • 在打开的质量工具页面上,展开PHP CS Fixer区域并单击配置列表浏览按钮旁边的。

    • 在打开的PHP CS Fixer对话框中,在PHP CS Fixer 路径字段中指定php-cs-fixer.batphp- cs-fixer PHP CS Fixer 可执行文件的位置。手动键入路径或单击并在打开的对话框中选择相关文件夹。浏览按钮

      要检查php-cs-fixer.batphp- cs-fixer 的指定路径是否确保了 PhpStorm 和 PHP CS Fixer 之间的交互,即该工具可以从 PhpStorm 启动,并且 PhpStorm 将收到来自它的问题报告,单击验证按钮。此验证等同于运行php-cs-fixer --version命令。如果验证成功通过,PhpStorm 会显示检测到的 PHP CS Fixer 版本信息。

  3. 如有必要,在Tool process timeout字段中,指定您希望 PhpStorm 等待 PHP CS Fixer 的结果多长时间,然后终止进程以防止 CPU 和内存使用过多。

配置与 PHP 解释器关联的 PHP CS Fixer 脚本

  1. 设置/首选项对话框 ( Ctrl+Alt+S) 中,导航到PHP | 质量工具

  2. 在打开的质量工具页面上,展开PHP CS Fixer区域并单击配置列表浏览按钮旁边的。PHP CS Fixer对话框打开,在左侧窗格中显示所有已配置的 PHP CS Fixer 脚本列表,其中一个是Local类型,其他以与脚本关联的 PHP 解释器命名。

  3. 单击添加按钮工具栏上的 。在打开的远程解释器的 PHP CS Fixer对话框中,选择远程 PHP 解释器以使用关联的脚本。如果列表不包含相关解释器,请单击浏览按钮并在CLI 解释器对话框中配置远程解释器,如配置远程 PHP 解释器中所述。

    当您单击OK时,PhpStorm 会将您带回PHP CS Fixer对话框,其中新的PHP CS Fixer配置已添加到列表中,右侧窗格显示选择的远程 PHP 解释器,以及与之关联的 PHP CS Fixer 的路径,以及高级 PHP CS Fixer 选项。

  4. 如有必要,在Tool process timeout字段中,指定您希望 PhpStorm 等待 PHP CS Fixer 的结果多长时间,然后终止进程以防止 CPU 和内存使用过多。

将 PHP CS Fixer 配置为 PhpStorm 检查

使用 Composer 配置 PHP CS Fixer 检查

您可以在composer.json的脚本部分中包含有关默认和自定义 PHP CS Fixer 规则集的信息。当您安装更新项目依赖项时,将检测指定的规则集并自动启用PHP CS Fixer 验证检查。

如果composer.jsonscripts部分没有指定规则集,PhpStorm 将额外检查项目根目录以找到具有 .php_cs.php_cs.dist默认名称的规则集。如果文件存在,它将被自动选择为检查的自定义规则集。

  • composer.jsonscripts部分中,将PHP CS Fixer 启动命令添加到叶元素之一中。php-cs-fixer

    提供--rules参数以表示使用的编码标准。例如,添加以下记录会将编码标准设置为PSR1

    “脚本”:{“php-cs-fixer”:“php-cs-fixer --rules=@PSR1”}

    或者,提供--config参数和规则集文件的路径,这会将编码标准设置为Custom

    “脚本”:{“php-cs-fixer”:“php-cs-fixer --config=./.php_cs”}

手动配置 PHP CS Fixer 检查

  1. Settings/Preferences对话框 ( Ctrl+Alt+S) 中,单击Editor下的Inspections

  2. 在打开的检查页面上,展开PHP | Quality Tools节点并选中PHP CS Fixer validation旁边的复选框。

  3. 在页面的右侧窗格中,使用选项区域中的控件配置 PHP CS Fixer 工具:

    1. Severity列表中,选择PHP CS Fixer 检查的严重程度。选定的值决定了 PhpStorm 处理检测到的差异的严重程度并显示在检查结果中。

    2. 范围列表中,选择将检查应用程序限制到的范围。

    3. 要允许有风险的规则,即可以更改代码行为的规则,请选中Allow risky rules for built-in rulesets复选框。默认情况下,不允许有风险的规则。

    4. 指定要应用的编码标准。

      • 要使用预定义的编码标准之一,请在编码标准列表中选择它,指定编码样式以检查您的代码。该列表包含在主php-cs-fixer目录结构中声明的所有编码标准。

      • 要根据您自己先前定义的编码标准检查您的代码,请选择自定义。单击浏览 浏览按钮并在打开的自定义编码标准对话框中,在规则集路径字段中为您自己的编码标准指定.php_cs.php_cs.dist文件的路径。手动键入路径或单击浏览并在打开的对话框中选择相关文件夹。 浏览按钮

与团队共享自定义编码风格

  1. 将您的编码标准的根目录放在 项目根目录下。

  2. 将 PHP CS Fixer 配置为 PhpStorm 检查

  3. 指定您的编码标准

  4. 确保在“检查”页面的顶部选择了项目配置文件。此类配置文件保存在特定项目的.idea目录中(例如,$PROJECT_DIR$/.idea/inspectionProfiles)。有关详细信息,请参阅配置配置文件

  5. Settings/Preferences对话框的Version Control页面上,确保将.idea目录置于version control 之下

以批处理模式运行 PHP CS Fixer

  1. 从主菜单中,选择代码 | 检查代码

  2. 从列表中选择检查配置文件,或单击以在打开的检查对话框中浏览按钮配置新配置文件。您还可以单击以检查将应用哪些修复,并确保启用了PHP CS Fixer 验证检查。浏览按钮

  3. 在问题工具窗口中查看检查结果。PHP CS Fixer 报告的错误和警告带有前缀, PHP CS Fixer以将它们与 PhpStorm 内部检查区分开来。

从 PHP CS Fixer 检查中排除文件

当等待 PHP CS Fixer 响应超过PHP CS Fixer对话框的Tool process timeout字段中指定的限制时,PhpStorm 建议将该文件添加到忽略列表中

  1. 设置/首选项对话框 ( Ctrl+Alt+S) 中,导航到PHP | 质量工具

  2. 在打开的质量工具页面上,展开PHP CS Fixer区域并单击显示忽略的文件链接。

    • 要添加文件,请单击添加按钮并在打开的对话框中找到所需的文件。

    • 要从列表中删除文件并让 PHP CS Fixer 再次处理它,请选择该文件并单击删除按钮

    • 要从列表中删除所有文件,请单击关闭按钮

最后修改时间:2021 年 11 月 22 日