IntelliJ IDEA 2020.1 Help

Scopes

File | Settings | Appearance and Behavior | Scopes for Windows and Linux
IntelliJ IDEA | Preferences | Appearance and Behavior | Scopes for macOS
Ctrl+Alt+S the Settings/Preferences icon


A scope is a set of files to which various operations apply. Using this dialog, you can define scopes for the various IntelliJ IDEA actions, for example, Find Usages, or Code Inspections.

Main toolbar

Item

Tooltip

Description

the Add button

Add scope

Alt+Insert

Add a new local or shared scope.

the Remove button

Delete

Delete

Delete the selected scope from the list.

the Copy configuration button

Copy configuration

Ctrl+D

Create a copy of the selected scope.

the Save as button

Save as

Save the selected local scope as shared or the selected shared scope as local.

the Move up button  the Move down button

Move Up / Move Down

Move the scopes up and down in the list.

If some file is included into several scopes, the order of the scopes becomes important: IntelliJ IDEA uses the color of the uppermost scope (shown in the Scopes settings page) to highlight such file. Of course, you can change the order of the scopes, and thus the resulted highlighting.

Scope configuration controls

Item

Description

Name

Specify the scope name.

Pattern

Specify the pattern that defines the current scope. The following elements and structures can be used:

  1. The file: modifier. The element is mandatory.

  2. The * asterisk to denote any symbol in a filename or file extension.

  3. Logical operators AND (&&), OR (||), and NOT (!).

For more information, see Scope language syntax reference.

Do one of the following:

  • Type or edit the pattern manually in the text field Pattern.

  • Click the Expand All button, or press Ctrl+NumPad Plus to type or edit in the expanded area. Click the Collapse All button or press Ctrl+NumPad - to return to a single-line area.)

  • Choose the desired files in the Project Tree View and use the buttons described below to make IntelliJ IDEA generate the corresponding pattern automatically.

Examples

  • file[MyMod]:src/main/java/com/example/my_package//* - include in a project all the files from module "MyMod", located in the specified directory and all subdirectories.

  • src[MyMod]:com.example.my_package..* - recursively include all classes in a package in the source directories of the module.

  • lib:com.company..*||com.company..* - recursively include all classes in a package from both project and libraries.

  • test:com.company.* - include all test classes in a package, but not in subpackages.

  • [MyMod]:com.company.util.* - include all classes and test classes in the package of the specified module.

  • file:*.js||file:*.coffee - include all JavaScript and CoffeeScript files.

  • file:*js&&!file:*.min.* - include all JavaScript files except those that were generated through minification, which is indicated by the min extension.

Include

Click this button to have the selected element included in the scope. The corresponding expression is automatically generated and added to the expression in the Pattern field.

Include Recursively

Click this button to have the selected folder included in the scope, together with the nested subfolders. The corresponding expression is automatically generated and added to the expression in the Pattern field.

Exclude

Click this button to have the selected element excluded from the scope. The corresponding expression is automatically added to the Pattern. If the current element is a folder, the nested subfolders are ignored.

Exclude Recursively

Click this button to have the selected folder excluded from the scope, together with the nested subfolders. The corresponding expression is automatically added to the Pattern field.

Scope toolbar

Item

Tooltip

Description

Project tree view

The tree view contains all the files available in your project. In the view, select the desired files to be included in the current scope and have the scope definition pattern generated automatically. The message on the toolbar shows the total number of available files and the number of files included in the scope. See also the color legend below. Use the toolbar buttons described below to change the view presentation.

The way of presentation of the project tree view, the available controls and scopes language syntax depend on the selection in project vs package list.

the Flatten Packages button

Flatten Packages

When the button is pressed, all the packages are displayed as a single-level tree view. This enables you to find a package somewhere deep within the project by its name without going through the entire tree hierarchy.

the Group by Scopes Type button

Group by Scopes Type

When this button is pressed, the items in the tree-view are grouped below three nodes:

  • Library Classes
  • Production Classes
  • Test Classes

This button is only available for the Package presentation of scopes.

the Compact Middle Packages button

Compact Middle Packages

This option lets you specify how or whether empty packages are to be shown. (Empty packages are ones that contain nothing but other packages.)

Show files

Show Files

If this button is pressed, source files are displayed explicitly in the tree view. When the files are shown, they can be selected for exclusion/inclusion into a pattern.

If this button is not pressed, the files are hidden.

Show included only

Show Included Only

When the button is pressed, the tree shows only the elements that are included in the scope.

  • Packages
  • Project

Define how you want the project files to be displayed in the tree view.

The project tree view presentation, scopes language syntax and the available toolbar buttons differ depending on the selection.

Legend of the project tree view

Item

Description

the green color sample

Folders and files included in scope are marked with green.

Black

Folders and files excluded from scope.

the dark blue color sample

Folders that contain both excluded and included files and subfolders are marked with dark blue.

Last modified: 15 April 2020