IntelliJ IDEA lets you manage your imports in Scala the same way as it does in other languages.
You can configure the imports in the Project Settings and in the IDE Setting. You can also optimize your imports and exclude classes from auto-import in the editor.
You can format your imports using Project Settings.
- Class count to use import with '_' - in this text field, specify the number of classes to be imported from a single package until all statements importing a single class are substituted with a statement importing an entire package.
- Add import statement in closest block - select this check box to add your import statement to the closest block instead of the top of your code.
- Add fully qualified imports - select this check box to add fully qualified imports.
- Sort imports lexicographically (for optimize imports) - use this check box if you want IntelliJ IDEA to sort your imports in lexicographical order. However, if Add fully qualified imports check box is selected then
- Collect imports with the same prefix into one import - use this check box if you want IntelliJ IDEA to insert all imports with the same prefix into one.
- Import members using '_' - select this check box to import all members of the package (this is analogous to import members using '*' in Java)
- Use the shortest path when trying to import reference with already imported name - select this check box to let IntelliJ IDEA find the shortest available path when you import the reference with already imported name using code compleation.
- Classes to use only with prefix - this area lets you view the list of classes with prefixes. You can add a pattern to use appropriate classes only with prefix or you can remove a class from the list.
- Import Layout - this area lets you view the layout of the import statements, add or remove blank lines between them, and add or remove package names. You can also move the rows in the layout up or down .
You can configure the behavior of the imports in the editor through the IDE Settings.
You can select the following options:
- Insert imports on paste - use this drop-down list to define how IntelliJ IDEA will insert imports for pasted blocks of code, if they contain references to classes that are not imported into the target class.
The available options are:
All - select this option to have IntelliJ IDEA automatically add import statements for all classes that are found in the pasted block of code and are not imported in the current class yet.
Ask - if this option is selected, when pasting code blocks, IntelliJ IDEA will open a dialog box, where you can choose the desired imports.
None - select this option to suppress import.
If you skip an import suggested in the Ask mode or choose the None mode, the non-imported classes will be red-highlighted and an import pop-up window will appear to help you create import statements using the Alt+Enter keyboard shortcut.
- Optimize imports on the fly - select this check box to have the Optimize Imports operation automatically performed for your files. If you clear this check box, you can manually optimize your imports selecting →.
- Add unambiguous imports on the fly - select this check box to have IntelliJ IDEA automatically add imports that can be added without user intervention.
You can optimize imports using → command.
In this dialog box, specify from where you want IntelliJ IDEA to remove unused import statements, in order to optimize the import procedure.
- File - click this option to have unused imports removed from the current file. This option is selected by default, if a file in the editor has the focus, or if it is selected in the Project tool window.
- All files in directory <directory name> - click this option to have unused imports removed from all files in the current directory at once. This option is selected by default, if a directory is selected in the Project tool window.
- Rearrange entries - select this check box to reorder your code entries.
- Only VCS changed text - if this check box is selected, then reformatting will apply only to the files that have been changed locally, but not yet checked in to the repository. This check box is only available for the files under version control.
- Do not show this dialog in the future - select this check box to perform import optimization in the future silently.