PhpStorm 2021.3 Help

自动导入

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

  • 自动补全全限定类名,包括定义类的命名空间。

  • 自动补全短类名并导入定义类的命名空间。

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

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

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

自动添加导入语句

如果没有可供选择的选项,您可以将 IDE 配置为自动添加导入语句。

  1. 设置/首选项对话框 ( Ctrl+Alt+S) 中,单击编辑器 | 一般 | 自动导入

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

    • 要让 PhpStorm 自动为粘贴的代码块中的类和方法添加语句,请从Insert imports on paste列表中use选择所需的行为:

      • All:将为粘贴的代码块中找到的所有缺少的类和方法自动添加导入语句。

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

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

        Select Classes To Import 对话框:重用现有别名
      • :不会添加任何导入语句,不会询问您未解决的引用。

      请注意,仅当复制的元素在代码中正确解析(即未通过未定义类未定义方法检查突出显示)并且项目索引已完成时,才能在粘贴时添加导入。

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

    • 当您键入属于某个命名空间的类或文件时,要让 PhpStorm 自动导入 PHP 命名空间、添加use语句和完成短类名称,请选中Enable auto-import in namespace scope复选框。默认情况下选中此复选框。

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

      • Prefer FQN:如果选中,PhpStorm 会自动插入全局命名空间中符号的完全限定名称,并以反斜杠开头,例如:

        命名空间 A;$myException = 新的 \Exception(); $a = \strlen("测试"); 回声 \PHP_EOL;
      • Prefer Import :如果选中,如果这不会导致冲突,PhpStorm 会自动为全局命名空间use中的符号添加语句,例如:

        命名空间 A;使用异常;使用常量 PHP_EOL;使用函数 strlen;$myException = 新异常();$a = strlen("测试"); 回声 PHP_EOL;
      • Prefer Fallback:如果选择,PhpStorm 既不会插入函数或常量的完全限定名称,也不会通过use语句导入它们。在这种情况下,首选后备全局函数或常量,例如:

        命名空间 A;使用异常;$myException = 新异常();$a = strlen("测试"); 回声 PHP_EOL;

禁用自动导入

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

  • 所有导入工具提示都被禁用

  • 导入语句的自动插入被禁用。

即时导入 PHP 命名空间

  1. 启用动态命名空间导入

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

  3. 从代码完成建议列表中,选择所需的类名称。PhpStorm 将完成短类名称并插入use带有定义所选类的命名空间的语句。

    自动添加使用语句.png

使用快速修复导入类

  1. 打开一个文件进行编辑并引用一个 PHP 类。如果引用的类未绑定,PhpStorm 将突出显示它:

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

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

    添加为未定义的 class.png 添加的 use 语句

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

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

  • 完全限定名称使用检查突出显示可以通过添加use语句删除的完全限定类名称。

  • 不必要的完全限定名检查突出显示完全限定类名,无需添加use语句即可删除。

您可以使用Code Cleanup自动将相应的快速修复应用于给定范围。

清理给定范围内的代码

  1. 从主菜单中,选择代码 | 代码清理

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

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

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

清理当前文件中的代码

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

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

使用快速修复清理代码

优化导入

优化导入功能可帮助您删除未使用的导入,并根据设置/首选项中指定的规则一次性组织当前文件或目录中所有文件中的导入语句。编辑 | 代码风格 | <语言> | 进口

优化所有导入

  1. 在项目工具窗口(查看|工具窗口|项目)中选择一个文件或目录。

  2. 执行以下任一操作:

    • 从主菜单中,选择代码 | 优化导入(或按Ctrl+Alt+O)。

    • 从上下文菜单中,选择优化导入

  3. (如果您选择了一个目录)选择是要优化目录中所有文件的导入,还是只优化本地修改的文件(如果您的项目受版本控制),然后单击Run

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

优化单个文件中的导入

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

  2. 选择删除使用语句

删除使用声明

在将更改提交到 Git 时优化导入

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

  1. Ctrl+K或选择Git | 从主菜单提交。

  2. 单击显示提交选项并在提交前区域中,选择优化导入复选框。

保存时自动优化导入

您可以将 IDE 配置为在保存更改时自动优化修改文件中的导入。

  1. Ctrl+Alt+S打开 IDE 设置并选择工具 | 保存操作

  2. 启用优化导入选项。

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

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

最后修改:2021 年 11 月 19 日