In this section:
- Introduction
- Importing packages on the fly
- Completing a short class name and importing a PHP namespace on-the-fly
- Importing a PHP namespace using a quick fix
- Importing TypeScript symbols
- Importing an XML namespace
Introduction
When you reference a class that has not been imported, IntelliJ IDEA helps you locate this file and add it to the list of imports. You can import a single class or an entire package, depending on your settings.
The import statement is added to the imports section, but the cursor does not move from the current position, and your current editing session does not suspend. This feature is known as the Import Assistant.
To configure the way auto-import works, open the IntelliJ IDEA settings, and then go to the page Auto Import.
The same possibility applies to the XML , JSP, and JSPX files. When you type a tag with an unbound namespace, import assistant suggests to create a namespace and offers a list of appropriate choices.
When you reference a PHP class that is defined outside the current file, IntelliJ IDEA locates the class definition, whereupon you can do one of the following:
- Have IntelliJ IDEA automatically complete the fully qualified class name, including the namespace the class is defined in. This will result in littering your code.
- Have IntelliJ IDEA automatically complete the short class name and import the namespace the class is defined in.
- Import the namespace manually using a quick fix.
In the PHP context, a namespace is imported by inserting a use statement.
Importing packages on the fly
To import packages on-the-fly, follow these steps:
- Start typing a name in the editor. If the name references a class that has not been imported,
the following prompt appears:

If the pop-up annoys you, change this behavior for the current file. Just click Hector
in the Status bar, and clear
the checkbox Import Pop-up:
The unresolved references will be underlined, and you will have to invoke intention action Add import explicitly.
- Press ⌥⏎⌥⏎⌘1⌥⏎⌥⏎. If there are multiple choices, select the desired
import from the list.

IntelliJ IDEA provides a quick fix that automatically installs the package you’re trying to import: if, after the keyword
import, you type a name of a package that is not currently available on your machine,
a quick fix suggests to either ignore the unresolved reference, or download and install the missing package:

If the option Add unambiguous imports on the fly is checked, IntelliJ IDEA does not inform you about the needed import, if there is only one choice, and adds the only possible import automatically.
Completing a short class name and importing a PHP namespace on-the-fly
To compile a short class name and import a PHP namespace, follow these steps:
-
To enable on-the-fly namespace import, open the IntelliJ IDEA settings, and then click Auto Import under the
Editor node. In the Editor: Auto Import page that opens, configure automatic namespace import in the PHP section.
- To have IntelliJ IDEA automatically import PHP namespaces, add use statements, and complete short class names on the fly when you are typing in a class or file that belongs to a certain namespace, select the Enable auto-import in namespace scope checkbox. This checkbox is selected by default.
- To have automatic namespace import applied when you are typing in a file that does not belong to any specific namespace, select the Enable auto-import in file scope checkbox.
- Open the desired file for editing and start typing the short name of a class.
-
From the suggested variants for completion, select the relevant class name:
IntelliJ IDEA completes the short class name and inserts a
usestatement with the namespace where the selected class is defined:
Importing a PHP namespace using a quick fix
To import a PHP class using a quick fix, follow these steps:
-
Open the desired file for editing and reference a PHP class. If the referenced class is not bound, the following prompt appears:

-
Press ⌥⏎⌥⏎⌘1⌥⏎⌥⏎. IntelliJ IDEA suggests to import the namespace where it has detected the declaration of the class:

-
Press Enter. IntelliJ IDEA inserts a namespace declaration statement (
usestatement):
Importing TypeScript symbols
In the TypeScript context, IntelliJ IDEA can generate import statements for
modules, classes, and any other symbol that can be exported and called as a type. Open the desired file in
the editor and do one of the following:
- Start typing the short name of a symbol.
From the suggested variants for completion, select the relevant symbol name:

- Position the cursor at the unresolved symbol, which is displayed in red, and press
⌥⏎⌥⏎⌘1⌥⏎⌥⏎:
On the context menu, select Add import statement and press ⏎⏎⏎⏎⏎.
- Configure IntelliJ IDEA to show a pop-up every time you hover the mouse pointer over an unresolved reference
which required import:
- Open the Settings / Preferences Dialog by pressing ⌘,⌘,⌘,⌥F7⌃⌥S or by choosing for Windows and Linux or for macOS. Expand the Editor node, and then click Auto Import under General.
- On the Auto Import page that opens, select the Show import pop-up checkbox in the TypeScript area.
Every time you hover the mouse pointer over an unresolved symbol, IntelliJ IDEA will display the following pop-up message:

Press ⌥⏎⌥⏎⌘1⌥⏎⌥⏎ to have an import statement generated and inserted automatically.
In either case, IntelliJ IDEA inserts an import statement:

You can configure the quotes style for generated import statements on the
Code Style. TypeScript page, tab Punctuation ( for Windows and Linux
or for macOS).
Importing an XML namespace
To import an XML namespace, follow these steps:
- Open the desired file for editing, and start typing a tag. If a namespace is not bound, the following prompt appears:

-
Press ⌥⏎⌥⏎⌘1⌥⏎⌥⏎. If there are multiple choices, select
the desired namespace from the list.

Depending on the file type, IntelliJ IDEA creates a namespace declaration, or a taglib:
