IntelliJ IDEA 13.1.0 Web Help

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 adds to the imports section, but the cursor does not move from the current position, and your current editing session does not interrupt. This feature is known as the Import Assistant.

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.

In this topic:

To import packages on the fly, follow these general steps
  1. Start typing a name in the editor. If the name references a class that has not been imported, the following prompt appears:

    import assistance

    Note

    If the pop-up annoys you, change this behavior for the current file. Just click Hector hector.gif in the Status bar, and clear the check box Import Pop-up:

    import_popup

    The unresolved references will be underlined, and you will have to invoke intention action Add import explicitly.

  2. Press Alt+EnterAlt+EnterAlt+EnterAlt+EnterAlt+EnterAlt+EnterAlt+EnterAlt+EnterAlt+Enter, Shift+Alt+J or Ctrl+Shift+MAlt EnterAlt EnterCommand 1. If there are multiple choices, select the desired import from the list.

    choose imported classes

Tip

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.

8.0+
To import a namespace, follow these general steps
  1. Open the desired file for editing, and start typing a tag. If a namespace is not bound, the following prompt appears:

    unboundNameSpace1.png

  2. Press Alt+EnterAlt+EnterAlt+EnterAlt+EnterAlt+EnterAlt+EnterAlt+EnterAlt+EnterAlt+Enter, Shift+Alt+J or Ctrl+Shift+MAlt EnterAlt EnterCommand 1. If there are multiple choices, select the desired namespace from the list.

    unboundNameSpace2.png

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

    unboundNameSpace3.png

To complete a short class name and import a PHP namespace on the fly
  1. 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 check box. This check box 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 check box.
  2. Open the desired file for editing and start typing the short name of a class.
  3. From the suggested variants for completion, select the relevant class name:

    ps_complete_short_class_name_select_class.png

    IntelliJ IDEA completes the short class name and inserts a use statement with the namespace where the selected class is defined:

    ps_complete_short_class_name_use_statement_added.png

To import a PHP namespace using a quick fix
  1. Open the desired file for editing and reference a PHP class. If the referenced class is not bound, the following prompt appears:

    ps_undefined_class.png

  2. Press Alt+EnterAlt+EnterAlt+EnterAlt+EnterAlt+EnterAlt+EnterAlt+EnterAlt+EnterAlt+Enter, Shift+Alt+J or Ctrl+Shift+MAlt EnterAlt EnterCommand 1. IntelliJ IDEA suggests to import the namespace where it has detected the declaration of the class:

    ps_add_use_statement.png

  3. Press Enter. IntelliJ IDEA inserts a namespace declaration statement (use statement):

    ps_undefined_class_use_statement_added.png

See Also

Procedures:

Reference:

Web Resources: