PhpStorm 2025.2 Help

自动导入

当您引用一个定义在当前文件之外的 PHP 类时,PhpStorm 会定位类定义,并允许您执行以下操作之一:

  • 自动完成完全限定类名,包括类定义所在的命名空间。

  • 自动完成简短类名并导入类定义所在的命名空间。

  • 使用快速修复手动导入命名空间。

在导入部分添加 use 语句,但插入符号不会从当前位置移动,且您的当前编辑会话不会中断。 此功能称为 导入助手

在 JavaScript 和 TypeScript 文件中,PhpStorm 会自动为模块、类、组件以及任何可以导出的符号添加导入语句,还包括 XML 命名空间。 了解更多信息,请参阅 JavaScript 中的自动导入TypeScript 中的自动导入导入 XML 命名空间

自动添加导入语句

您可以配置 IDE,使其在没有可供选择的选项时自动添加 import 语句。

  1. Ctrl+Alt+S 打开设置,然后选择 编辑器丨常规丨自动导入

  2. PHP 部分配置自动命名空间导入。

    • 要让 PhpStorm 自动为粘贴的代码块中的类和方法添加 use 语句,请从 在粘贴时插入导入 列表中选择所需的行为:

      • 全部 :导入语句会自动添加到粘贴代码块中发现的所有缺失类和方法。

      • 询问: PhpStorm 将提示您选择要导入的类和方法。

        如果粘贴的类已经在目标代码中 通过别名引用,PhpStorm 会提示您重用此别名,而不是创建新的 import 语句。

        选择类导入对话框:重用现有别名
      • :不会添加 import 语句,系统不会询问关于未解决引用的问题。

      请注意,只有在代码中正确解析了复制的元素(即,未被 Undefined classUndefined method检查突出显示),并且项目索引完成后,才能在粘贴时添加导入。

    • 要在不属于任何特定命名空间的文件中输入时应用自动命名空间导入,请选中 在文件作用域内启用自动导入 复选框。

    • 要让 PhpStorm 在您输入属于某个命名空间的类或文件时,自动导入 PHP 命名空间、添加 use 语句并即时完成简短类名,请选中 在命名空间作用域内启用自动导入 复选框。 默认情况下,此复选框已选中。

    • 如有必要,可分别为类、函数和常量配置全局命名空间的自动导入。

      • 偏好 FQN :如果选中,PhpStorm 将自动插入来自 全局命名空间的符号的完全限定名称,并以反斜杠作为前缀,例如:

        namespace A; $myException = new \Exception(); $a = \strlen("Test"); echo \PHP_EOL;
      • 优先导入 :如果选择,PhpStorm 会自动为 global namespace 中的符号添加 use 语句,如果这样做不会导致冲突,例如:

        namespace A; use Exception; use const PHP_EOL; use function strlen; $myException = new Exception(); $a = strlen("Test"); echo PHP_EOL;
      • 倾向回退 :如果选择,PhpStorm 既不会插入函数或常量的全限定名称,也不会通过 use 语句导入它们。 这些情况下,建议使用 fallback全局函数或常量,例如:

        namespace A; use Exception; $myException = new Exception(); $a = strlen("Test"); echo PHP_EOL;

禁用自动导入

如果您想完全禁用自动导入,请确保:

即时导入 PHP 命名空间

  1. 启用即时命名空间导入

  2. 打开所需文件进行编辑并开始输入类的简短名称。

  3. 从代码补全建议列表中选择所需的类名。 PhpStorm 将完成简短类名并插入包含所选类定义命名空间的 use 语句。

    Automatically add a use statement.png

使用快速修复导入类

  1. 打开文件进行编辑并引用一个 PHP 类。 如果未找到引用的类,PhpStorm 将高亮显示它:

    ps_undefined_class.png
  2. Alt+Enter 并接受建议以导入检测到类声明的命名空间。

    PhpStorm 插入一个命名空间声明语句(use 语句)。

    Add a use statement added for an undefined class.png

使用代码清理缩短完全限定类名

PhpStorm 提供以下检查和快速修复以缩短完全限定类名:

  • 完全限定名称使用 检查会高亮显示可以通过添加 use 语句移除的完全限定类名。

  • 不必要的完全限定名称 检查会高亮显示可以在不添加 use 语句的情况下移除的完全限定类名。

您可以使用 代码清理 自动将相应的快速修复应用于指定范围。

在指定范围内清理代码

  1. 在主菜单中,进入 代码 | 代码清理.

  2. 在打开的 指定代码清理范围 对话框中,选择要应用检查配置文件的范围。

  3. 从列表中选择检查配置文件,或单击 配置 在打开的 代码清理检查 对话框中配置新配置文件。 您还可以单击 配置 检查将应用哪些修复,并确保启用了 不必要的完全限定名称完全限定名称使用 检查。

    代码清理检查对话框:FQN 检查
  4. 单击 确定 启动代码清理。

清理当前文件中的代码

  1. 在编辑器中,将插入符号放在由 不必要的完全限定名称完全限定名称使用 检查高亮显示的完全限定类名上。

  2. 单击 意向操作按钮 或按 Alt+Enter ,并从弹出菜单中选择 清理代码

使用快速修复清理代码

优化导入

优化import 功能可帮助您移除未使用的导入,并一次性整理当前文件或目录中所有文件的导入语句。

要自定义 PHP 的导入优化规则,请转到 设置 | 编辑器 | 代码样式 | PHP | Code Conversion | Sort 'use' statements设置 | 编辑器 | 常规 | 自动导入 | PHP

优化所有导入

  1. 项目 工具窗口中选择文件或目录 (View | 工具窗口 | 项目)。

  2. 执行以下任意操作:

    • 在主菜单中,前往 代码 | 优化import (或按 Ctrl+Alt+O)。

    • 从上下文菜单中选择 优化import

  3. (如果您选择了一个目录)请选择是否要优化目录中所有文件中的导入,还是仅优化本地修改的文件(如果您的项目在版本控制下),然后点击 运行

在优化导入时,PhpStorm 可以自动按字母顺序或按长度对 use 语句进行排序。 要选择首选选项,请在 设置 对话框(Ctrl+Alt+S )中,转到 编辑器 | 代码样式 | PHP 并切换到 Code Conversion 选项卡。 然后选中 Sort 'use' statements 复选框,并选择 use 语句的排序方式。

优化单个文件中的导入

  1. 将插入符号放在导入语句上,然后按 Alt+Enter 或使用 意向操作按钮 图标。

  2. 请选择 删除 use 语句

删除 use 语句

在提交时优化导入

如果您的项目在版本控制下,您可以配置 PhpStorm 在将修改文件提交到 VCS 之前优化导入。

  1. Alt+0 打开 提交 工具窗口,然后单击 显示提交选项 设置按钮

  2. 点击 显示提交选项 ,并在提交消息区域,选中 优化import 复选框。

    在提交前优化导入

自动优化导入项在保存时

您可以配置 IDE,以便在修改后的文件 保存时自动优化导入。

  1. Ctrl+Alt+S 打开设置,然后选择 工具 | 保存时的操作

  2. 启用 优化import(O) 选项。

    另外,从 所有文件类型 列表中选择您想要优化导入的文件类型。

  3. 应用更改并关闭对话框。

在重新格式化文件时优化导入

您可以告知 PhpStorm 在每次重新格式化文件时优化导入。

  • 在编辑器中打开文件,按 Ctrl+Alt+Shift+L ,并确保在打开的 文件重新格式化 对话框中选中 优化导入 复选框。

    文件重格式化对话框

之后,每次您在此项目中按 Ctrl+Alt+L 时,PhpStorm 将自动优化其导入。

为文件夹中的所有文件优化导入

  1. Project 工具窗口中右键点击某个文件夹,然后选择 优化导入项

  2. 优化导入项 对话框中,点击 运行

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