PhpStorm 2025.2 Help

PHP_CodeSniffer

PhpStorm 通过与 PHP_CodeSniffer 工具集成提供代码样式检查,该工具根据您选择的编码标准验证您的代码一致性。 您可以指定一个预定义的 编码标准 ,或者使用 您之前定义的自定义编码标准 ,其根目录位于默认 PHP_CodeSniffer 的 标准 目录之外。 此外,您可以与团队共享您的自定义编码样式。

要从 PhpStorm 使用 PHP_CodeSniffer 而不是命令行,您需要在 PhpStorm 中注册它并将其配置为 PhpStorm 代码检查。 在 PhpStorm 中安装并启用后,该工具可用于任何打开的 PHP 文件,无需额外步骤即可启动。 即时代码检查会在文件的每次更新时激活,从而轻松消除发现的问题。

PHP_CodeSniffer 实时报告的错误和警告会在编辑器中以与 PhpStorm 内部代码检查 的错误和警告相同的方式突出显示。 当工具以批处理模式运行时,错误和警告会显示在 问题工具窗口 中。 每条消息都有 phpcs 前缀,以将其与 PhpStorm 内部检查区分开来。

PhpStorm 还与 PHP Code Beautifier and Fixer 工具集成,该工具允许您修复许多检测到的问题。

先决条件

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

  • 您使用的是 PHP_CodeSniffer 1.5.0 或更高版本。

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

  • 对于基于 Docker Compose 的 远程解释器 ,请确保使用 docker-compose exec 模式以避免生成额外的容器。

    1. 设置 对话框 (Ctrl+Alt+S) 中,前往 PHP

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

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

      用于 PHP 解释器的 docker-compose exec

安装并配置 PHP_CodeSniffer

使用 Composer 安装 PHP_CodeSniffer

当您使用 Composer 安装 PHP_CodeSniffer 时,PhpStorm 会自动下载必要的脚本,将其注册到 IDE 中,并可选地启用和配置相应的 代码检查

  1. composer.json 中,将 squizlabs/php_codesniffer 依赖项记录添加到 requirerequire-dev 键中。 要获取包名称和版本的代码补全,请按 Ctrl+Space

  2. 请执行以下操作之一:

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

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

单击 设置按钮 ,位于 composer.json 编辑器边栏的包记录旁边,将带您到相应的 设置 页面,您可以在此 手动配置 PHP_CodeSniffer

composer.json 中用于 php_codesniffer 设置的边栏图标

重置 PHP_CodeSniffer 配置

PHP_CodeSniffer 初始配置完成后, composer.json 中的进一步修改将不会影响检查配置。 要应用更新的更改,请重置 PHP_CodeSniffer 配置。

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

  2. 点击 “浏览”按钮 列表旁的 配置

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

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

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

在 PhpStorm 中配置 PHP_CodeSniffer

当您 使用 Composer 安装 PHP_CodeSniffer 时,PhpStorm 会自动检测 PHP_CodeSniffer 和 PHP Code Beautifier and Fixer 的 vendor/bin 文件夹中的可执行文件,并将系统路径中配置的 PHP 解释器设置为运行它们。

设置 (Ctrl+Alt+S) | PHP | 质量工具 | PHP_CodeSniffer 中,您可以更改默认 PHP 解释器,设置路径到 手动下载并安装的 PHP_CodeSniffer 可执行文件 ,或添加一些选项以在 PhpStorm 中运行 PHP_CodeSniffer 时传递给它。

PHP_CodeSniffer 设置
  • 配置 :在此字段中,您可以更改默认 PHP 解释器以及 PHP_CodeSniffer 和 PHP Code Beautifier and Fixer 可执行文件的路径。

    1. 要仅更改解释器,请从项目中配置的本地和远程 PHP 解释器列表中选择所需的项目。

    2. 要更改可执行文件的路径,或同时更改解释器和路径,请单击 “浏览”按钮 ,位于 配置 列表旁边,以打开 PHP_CodeSniffer 对话框,并按照 PHP_CodeSniffer 对话框 参考页面中描述的方式编辑字段。

  • 显示被忽略的文件 :使用此设置 从 PHP_CodeSniffer 验证检查中排除文件。 有关更多信息,请参阅 质量工具 参考页面。

  • 选项 :在此区域中,添加选项以 将 PHP_CodeSniffer 作为 PhpStorm 检查运行。 按照 PHP_CodeSniffer 参考页面 中的描述编辑字段。

启用 PHP_CodeSniffer 作为 PhpStorm 检查

有两种方法可以将 PHP_CodeSniffer 设置为 PhpStorm 检查:在 使用 Composer 安装 PHP_CodeSniffer 期间自动设置,或在 PhpStorm 的检查设置中手动设置

通过 Composer 启用 PHP_CodeSniffer 检查

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

如果在 scripts 部分的 composer.json 中未指定规则集,PhpStorm 将另外检查项目根目录以定位具有 phpcs.xml 默认名称的规则集。 如果文件存在,它将被自动选择为检查的 自定义规则集。

  • scripts 部分的 composer.json 中,将 phpcs PHP_CodeSniffer 启动命令添加到其中一个叶子元素中。

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

    "scripts": { "phpcs": "phpcs --standard=PSR2" }

    添加以下记录将编码标准设置为 Custom ,并将规则集路径设置为 <project root>/phpcs.xml

    "scripts": { "phpcs": "phpcs --standard=phpcs.xml" }

此外,您可以在 require-dev 部分的 composer.json 中提供一个自定义的非 PSR 标准依赖项,以便自动检测到。 当前支持以下标准:

在检查设置中启用 PHP_CodeSniffer 验证

  1. 设置 对话框(Ctrl+Alt+S )中,点击 检查 下的 编辑器

  2. 在打开的 Inspections 页面上,展开 PHP | 质量工具 节点并选中 PHP_CodeSniffer 验证 旁边的复选框。

    选择 PHP_CodeSniffer 验证复选框
  3. 在页面的右侧窗格中,配置 PhpStorm 如何处理 PHP_CodeSniffer 检查输出:

    • 范围 :选择 范围 以限制检查的应用范围。

    • 严重性 :选择检查的 严重程度。 所选值决定了 PhpStorm 将如何对待检测到的差异,并在 检查结果 中呈现。

    • 编辑器中的高亮显示 :选择检查检测到的问题在编辑器中的突出显示方式。

以批处理模式运行 PHP_CodeSniffer

  1. 在主菜单中,进入 代码 | 检查代码.

  2. 在打开的 指定检查范围 对话框中,从列表中选择检查配置文件,或单击 配置… 打开 检查 对话框并配置新配置文件。

    您还可以单击 配置… 检查将在所选检查配置文件范围内应用的修复,并确保启用了 PHP_CodeSniffer 验证 检查。

  3. 问题工具窗口 中查看检查结果。 PHP_CodeSniffer 报告的错误和警告以 phpcs 为前缀,以区分它们与 PhpStorm 内部检查。

    PHP_CodeSniffer 检查列表

修复 PHP_CodeSniffer 检测到的问题

PhpStorm 与 PHP Code Beautifier and Fixer 工具集成,该工具允许您修复许多检测到的问题。 如果您 使用 Composer 安装 PHP_CodeSnifferPHP Code Beautifier and Fixer 将被自动检测并设置。 否则,您需要 手动设置

使用快速修复修复问题

检测到问题后,PhpStorm 会根据 PHP_CodeSniffer 的 检查设置 突出显示问题。

  1. 将光标放在检测到的问题上,然后单击 意向操作按钮 ,或按 Alt+Enter

  2. 从弹出菜单中选择 PHP 代码美化和修复工具:修复整个文件。 请注意,这将修复当前文件中检测到的所有问题。

您还可以 以批处理模式 检测问题,或通过 代码重新格式化 自动修复它们。

通过代码重新格式化修复问题

您可以通过运行 重新格式化代码 操作来修复 PHP_CodeSniffer 检测到的问题。

  1. 质量工具设置 中将 PHP 代码美化和修复工具 设置为外部格式化器。

    为此,在 设置 对话框(Ctrl+Alt+S )中,转到 PHP | 质量工具 并在 外部格式化工具 部分中选择 PHP 代码美化和修复工具

    选择外部格式化器
  2. 重新格式化代码 应用于所需的文件或项目范围:

    • 对于编辑器中打开的代码片段或文件,从主菜单中选择 代码 | 重新设置代码格式 或按 Ctrl+Alt+L

    • 对于 Project 工具窗口中选定的文件、目录或文件组,从上下文菜单中选择 重新设置代码格式 或按 Ctrl+Alt+L

从 PHP_CodeSniffer 验证检查中排除文件

当等待 PHP_CodeSniffer 响应的时间超过 工具进程超时 字段中在 PHP_CodeSniffer 对话框中指定的限制时,PhpStorm 建议将文件添加到 忽略列表

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

  2. 点击 显示被忽略的文件 链接。

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

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

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

最后修改日期: 2025年 9月 26日