# 自动导入

> For the complete documentation index, see [llms.txt](https://www.jetbrains.com/zh-cn/help/idea/llms.txt).

## XML

|  显示自动导入工具提示  |  在键入未绑定命名空间的名称时自动显示自动导入工具提示。 如需更多信息，请参阅 [importing unbound namespaces](working-with-xml.html#import-xml-namespace)。  |

## Java

|  在粘贴时插入导入  |     请选择 IntelliJ IDEA 应该如何处理粘贴代码块中对缺失类、静态方法或字段的引用：         始终  ：将为粘贴的代码块中发现的所有缺失的类、方法和字段自动添加 import 语句。         询问  ：系统会提示选择要导入的类、方法和字段。         从不  ：不会添加导入语句，也不会就未解析的引用询问您。     |
|  显示自动导入工具提示对象  |  选择是否希望 IDE 显示   类   和   Static 方法和字段   的弹出窗口。 默认情况下，两个选项均被选中。  |
|  动态优化 import  |  如果该选项开启，IntelliJ IDEA 将在您在编辑器中工作时自动移除未使用的导入、添加缺失的导入，并整理导入语句。  |
|  动态添加明确的 import  |  此选项在仅有一个导入来源时启用导入语句的自动插入。  |
|  在补全中包含 static 成员的自动导入  |     此选项允许您自动导入常用的 static 方法。 当您输入来自优先类的方法时，IDE 会显示补全建议。 从列表中选择一个建议会插入相应的导入语句，而无需手动编辑。       您可以排除一些永远不应添加到 static 导入中的成员，例如  `的` 、  `valueOf`  等。 为此，请使用  `-` ，例如：       ```GENERIC -java.util.Objects.requireNonNull  ```      有关更多信息，请参阅 [为自动导入优先选择类](creating-and-optimizing-imports.html#prioritize-classes-in-auto-import)。     |
|  从自动导入和补全中排除  |  指定您想要从导入和代码补全建议列表中排除的软件包和类（允许使用  `*` （星号）通配符）。 您可以在项目或 IDE 级别排除项目。  |

## TypeScript/JavaScript

> **Note:**
> 自动导入仅适用于   ECMAScript 6   语言级别。 有关更多信息，请参阅 [选择 JavaScript 语言版本](javascript-specific-guidelines.html#ws_js_choose_language_version)。

|     在代码补全时添加 ES6 导入     |      * 如果选中此复选框，IntelliJ IDEA 会在补全另一个项目文件中使用 ES6 exports 导出的符号时，自动在 JavaScript 代码中插入一条 import 语句 [Video](https://resources.jetbrains.com/help/img/idea/2026.3/ws_es6_auto-import_1200.mp4)    * 清除此复选框后，按 `Alt+Enter` (Windows), `⌥ ⏎` (macOS), `⌥ ⏎` (IntelliJ IDEA Classic (macOS)), `⌥ ⏎` (macOS System Shortcuts), `Alt+Enter` (XWin), `Alt+Enter` (GNOME), `Alt+Enter` (KDE), `Alt+Enter` (Emacs), `Alt+Enter` (Sublime Text), `⌥ ⏎` (Sublime Text (macOS)), `Alt+Enter` (Visual Studio), `⌥ ⏎` (Visual Studio (macOS)), `Alt+Enter` (NetBeans), `Ctrl+1` (Eclipse), `⌘ 1` (Eclipse (macOS)) 时，IntelliJ IDEA 会显示一个建议导入该符号的弹出窗口 ![在代码补全时禁用添加 ES6 导入](https://resources.jetbrains.com/help/img/idea/2026.3/ws_es6_autoimport_off_1200.png)    * 补全和自动导入同样适用于 React 组件，包括无状态组件。 IntelliJ IDEA 会正确检测这些项，提供代码补全，并自动添加 import 语句 ![React 无状态组件中的导入补全](https://resources.jetbrains.com/help/img/idea/2026.3/ws_import-react-stateless.png)    |
|  自动添加 TypeScript 导入  |     如果您希望 IntelliJ IDEA 在 TypeScript 代码中生成导入语句，请选择此复选框。 请使用以下复选框选择何时调用导入生成。        * 在代码补全时 如果选中此复选框，IntelliJ IDEA 会在补全另一个项目文件中导出的符号时，自动在 TypeScript 代码中插入一条 import 语句    * 使用自动导入工具提示 如果选中此复选框，IntelliJ IDEA 会在您将文本光标放置在可以导入的未解析符号处时，显示一个包含导入建议的工具提示。 当复选框被清除时，您只能通过按 `Alt+Enter` (Windows), `⌥ ⏎` (macOS), `⌥ ⏎` (IntelliJ IDEA Classic (macOS)), `⌥ ⏎` (macOS System Shortcuts), `Alt+Enter` (XWin), `Alt+Enter` (GNOME), `Alt+Enter` (KDE), `Alt+Enter` (Emacs), `Alt+Enter` (Sublime Text), `⌥ ⏎` (Sublime Text (macOS)), `Alt+Enter` (Visual Studio), `⌥ ⏎` (Visual Studio (macOS)), `Alt+Enter` (NetBeans), `Ctrl+1` (Eclipse), `⌘ 1` (Eclipse (macOS)) 来调用导入生成。    * 实时添加无歧义的导入 选中此复选框后，IntelliJ IDEA 会在您编写代码或粘贴包含尚未导入符号的片段时添加 import 语句，如果只有一个来源可以导入该符号。    |

当您在需要完整文件名的浏览器（例如 Chrome）中使用 ES6 模块时，import 语句中的 ES6 模块名称必须包含  `.js`  扩展名。

* 要在 JavaScript 环境中自动添加扩展，请在 使用文件扩展名 复选框上选择 [Imports 选项卡](settings-code-style-javascript.html#ws_js_settings_editor_code_style_imports_tab)的 代码样式：JavaScript 页面。

* 要在 TypeScript 上下文中自动添加扩展，请在 使用文件扩展名 页面的 [Imports 选项卡](null)上选择 代码样式：TypeScript 复选框。

## JSP

|  动态添加明确的 import  |  选中此复选框，以使 IntelliJ IDEA 自动添加无需用户干预即可添加的导入。  |

## Scala

|    > **Note:** > 仅当下载并安装了 Scala 插件时，此表格才可用。  Scala  插件未 与 IntelliJ IDEA 捆绑，但可在   设置 \| 插件   页面安装，如 [从 JetBrains Marketplace 安装插件](managing-plugins.html#install_plugin_from_repo)中所述。    |
|  在粘贴时插入导入  |     选择 IntelliJ IDEA 如何处理粘贴代码块中对缺失类的引用：         始终  ：将为粘贴的代码块中发现的所有缺失的类、方法和字段自动添加 import 语句。         询问  ：系统会提示选择要导入的类、方法和字段。         从不  ：不会添加导入语句，也不会就未解析的引用询问您。     |
|  为以下项显示导入弹出窗口：  |     您可以控制导入弹窗的显示，并为以下代码元素禁用它们：        * 类    * static 成员    * 隐式转换    * 隐式定义    |
|  动态添加明确的 import  |  此选项在仅有一个导入来源时启用导入语句的自动插入。  |
|  动态优化 import  |  如果启用了此选项，IntelliJ IDEA [会在您编辑时静默地移除未使用的导入、添加缺失的导入并整理导入语句](creating-and-optimizing-imports.html#optimize-imports)。  |

## PHP

|    > **Note:** > 此表格仅在下载并安装 PHP 插件后可用。  PHP  插件 未 与 IntelliJ IDEA 捆绑，但可以在   设置 \| 插件   页面安装，如 [从 JetBrains Marketplace 安装插件](managing-plugins.html#install_plugin_from_repo) 中所述。    |
|  在粘贴时插入导入  |     选择 IntelliJ IDEA 应如何处理粘贴代码块中对缺失类和方法的引用：        * 全部 ：导入语句会自动添加到粘贴代码块中发现的所有缺失类和方法。    * 询问 ： IntelliJ IDEA 将提示您选择要导入的类和方法。 如果粘贴的类已经在目标代码中 [通过别名](http://php.net/manual/en/language.namespaces.importing.php)引用，IntelliJ IDEA 会提示您重用此别名，而不是创建新的 import 语句。 ![选择类导入对话框：重用现有别名](https://resources.jetbrains.com/help/img/idea/2026.3/ps_reuse_alias_on_paste.png)    * 无 ：不会添加导入语句，也不会就未解析的引用询问您。      请注意，只有在代码中正确解析了复制的元素（即，未被  Undefined class 或  Undefined method 检查高亮显示），并且项目分析完成后，才能在粘贴时添加导入。     |
|  在文件作用域中启用自动导入  |  选中此复选框以让 IntelliJ IDEA 自动导入 PHP 命名空间、添加  use  语句并在您输入属于特定命名空间的类或文件时 [自动补全简短类名](null)。 默认情况下，该复选框处于未选中状态。  |
|  在命名空间作用域中启用自动导入  |  选中此复选框可让 IntelliJ IDEA 自动导入 PHP 命名空间、添加  use 语句，并在您输入属于某个命名空间的类或文件时 [自动完成短类名](null)。 默认勾选复选框。  |
|  处理全局空间中的符号  |     在此区域，为类、函数和常量分别配置从全局命名空间的自动导入。        * 偏好 FQN ：如果选中，IntelliJ IDEA 将自动插入来自 全局命名空间 的符号的完全限定名称，并以反斜杠作为前缀，例如： ```PHP namespace A; $myException = new \Exception(); $a = \strlen("Test"); echo \PHP_EOL; ```    * 优先导入 ：如果选择，IntelliJ IDEA 会自动为 global namespace 中的符号添加 `use` 语句，如果这样做不会导致冲突，例如： ```PHP namespace A; use Exception; use const PHP_EOL; use function strlen; $myException = new Exception(); $a = strlen("Test"); echo PHP_EOL; ```    * 倾向回退 ：如果选择，IntelliJ IDEA 既不会插入函数或常量的全限定名称，也不会通过 `use` 语句导入它们。 这些情况下，建议使用 [fallback](https://php.net/manual/en/language.namespaces.fallback.php)全局函数或常量，例如： ```PHP namespace A; use Exception; $myException = new Exception(); $a = strlen("Test"); echo PHP_EOL; ```    |

