Managing Imports in Scala
IntelliJ IDEA lets you manage your imports in Scala the same way as it does in other languages. You can configure imports in the Project Settings and in the IDE Settings. You can also optimize your imports and exclude classes from auto-import in the editor.
- Managing Scala Imports through the Scala Settings
- Managing Scala Imports through Auto Import Settings
- Optimizing Imports
- Excluding Classes from Auto-Import
Managing Scala Imports through the Scala Settings
You can format your imports using Project Settings.
- Select .
- On the page, select tab.
- In the Imports tab, configure the following options and press OK:
- 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.
- Do not change path during optimize imports for local imports - select this check box to eliminate changing the local imports into the 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.
- 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 '_' - If you select this check box then IntelliJ IDEA imports all members included in the object. If the check box is cleared, IntelliJ IDEA imports only a specific member such as method or a field from the object.
- 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 completion.
- 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 .
Managing Scala Imports through Auto Import Settings
You can configure the behavior of the imports in your workspace through the Auto Import settings.
- Select .
- On the
page, in the Scala section, select from 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.
You can select from the following options:
- 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.
- 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.
You can optimize imports on the directory selectingcommand. In this dialog box, specify from where you want IntelliJ IDEA to remove unused import statements, in order to optimize the import procedure.
- 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.
Excluding Classes from Auto-Import
If the list of suggested imports is too wide, you can exclude unnecessary classes on the fly using intention actions.
- Start typing a name in the editor.
- In the Class to Import suggestion list, click Alt + Enter, and click the right arrow to reveal the nested list of intention actions.
IntelliJ IDEA suggests you to exclude specific class or the whole containing package.
- In the dialog that opens perform necessary changes and click OK.