PhpStorm 2025.2 Help

PHP Mess Detector

除了内置的代码辅助功能外,PhpStorm 还通过集成 PHP Mess Detector 工具提供源代码检查,该工具可检测与代码大小、不一致、未使用代码、命名约定违规、设计不良等相关的 潜在问题

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

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

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

先决条件

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

  • 包含 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 Mess Detector

使用 Composer 安装 PHP Mess Detector

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

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

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

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

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

单击 设置按钮 ,位于 composer.json 编辑器边栏的包记录旁边,将带您进入相应的 设置 页面,您可以在该页面 手动配置 PHP Mess Detector

composer.json 中 phpmd 设置的边栏图标

重置 PHP Mess Detector 配置

PHP Mess Detector 初次配置后,在 composer.json 中的进一步修改将不会影响检查配置。 要应用更新的更改,请重置 PHP Mess Detector 配置。

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

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

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

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

PhpStorm 将重新执行 PHP Mess Detector 配置,从而在 composer.json 中应用更改。

在 PhpStorm 中配置 PHP Mess Detector

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

PHP Mess Detector 设置
  • 配置 :在此字段中,您可以更改默认的 PHP 解释器和 PHP Mess Detector 可执行文件的路径。

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

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

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

  • 选项 :在此区域中,选择要在 将 PHP Mess Detector 作为 PhpStorm 检查运行时执行的验证旁边的复选框。 有关更多信息,请参阅 PHP Mess Detector 参考页面

启用 PHP Mess Detector 作为 PhpStorm 检查

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

通过 Composer 启用 PHP Mess Detector 检查

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

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

  • scripts 部分的 composer.json 中,将 phpmd PHP Mess Detector 启动命令添加到某个叶子元素中。

    提供内置标准的名称或自定义规则集的路径作为参数,以表示使用的编码标准。

    例如,添加以下记录将选择 CodesizeControversial内置规则集,以及在 /my/src/custom_ruleset.xml 文件中定义的自定义规则集:

    "scripts": { "phpmd": "phpmd codesize,controversial,/my/src/custom_ruleset.xml" }

在检查设置中启用 PHP Mess Detector 验证

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

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

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

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

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

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

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

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

  2. 将 PHP Mess Detector 配置为 一个 PhpStorm 检查

  3. 指定您的编码标准。

  4. 确保在 Inspections 页面顶部选择了一个 项目配置文件。 此类配置文件保存在特定项目的 .idea 目录中(例如, $PROJECT_DIR$/.idea/inspectionProfiles )。 欲了解更多信息,请参阅 检查配置文件

  5. 版本控制 页面上的 设置 对话框中,确保 .idea 目录已被 置于版本控制 下。

以批处理模式运行 PHP Mess Detector

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

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

    您还可以单击 配置… 检查在所选检查配置文件范围内将应用哪些修复,并确保 PHP Mess Detector 验证检查已启用。

  3. 问题工具窗口 中查看检查结果。 PHP Mess Detector 报告的错误和警告以 phpmd 为前缀,以将其与 PhpStorm 内部检查区分开来。

从 PHP Mess Detector 验证检查中排除文件

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

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

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

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

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

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

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