If this check box is selected, tab characters are used:
On pressing the Tab key
For indentation
For code reformatting
When the check box is cleared, IntelliJ IDEA uses spaces instead of tabs.
Smart tabs
If this check box is selected, the part of indentation defined by the nesting of code blocks, is made of the tabs and (if necessary) spaces, while the part of indentation defined by the alignment is made only of spaces.
If this check box is cleared, only tabs are used. This means that a group of spaces that fits the specified tab size is automatically replaced with a tab, which may result in breaking fine alignment.
The Smart Tabs check box is available if the Use Tab Character check box is selected.
Tab size
In this text box, specify the number of spaces included in a tab.
Indent
In this text box, specify the number of spaces (or tabs if the Use Tab Character check box is selected) to be inserted for each indent level.
Continuation indent
In this text box, specify the number of spaces (or tabs if the Use Tab Character check box is selected) to be inserted between the elements of an array, in expressions, method declarations and method calls.
Keep indents on empty lines
If this check box is selected, then IntelliJ IDEA will keep indents on the empty lines as if they contained some code. If this check box is not selected, IntelliJ IDEA will delete the tab characters and spaces.
Spaces
Use this tab to specify where you want spaces in your code. To have IntelliJ IDEA automatically insert a space at a location, select the check box next to this location in the list. The results are displayed in the Preview pane.
Wrapping and braces
In this tab, customize the code style options, which IntelliJ IDEA will apply on reformatting the source code. The left-hand pane contains the list of exceptions (Keep when reformatting), and placement and alignment options for the various code constructs (lists, statements, operations, annotations, etc.) The right-hand pane shows preview.
Alignment takes precedence over indentation options.
Keep when reformatting
Use the check boxes to configure exceptions that IntelliJ IDEA will make when reformatting the source code. For example, by default, the Line breaks check box is selected. If your code contains lines that are shorter than a standard convention, you can convert them by disabling the Line breaks check box before you reformat the source code.
Wrapping options
The wrapping style applies to the various code constructs, specified in the left-hand pane (for example, method call arguments, or assignment statements).
Item
Description
Wrapping style
From this drop-down list, select the desired wrapping style:
Do not wrap - when this option is selected, no special wrapping style is applied.
With this option selected, the nested alignment and braces settings are ignored.
Wrap if long - select this option to have lines going beyond the right margin wrapped with proper indentation.
Wrap always - select this option to have all elements in lists wrapped so that there is one element per line with proper indentation.
Chop down if long - select this option to have elements in lists that go beyond the right margin wrapped so that there is one element per line with proper indentation.
Alignment options
Item
Description
Align when multiline
If this check box is selected, a code construct starts at the same column on each next line. Otherwise, the position of a code construct is determined by the current indentation level.
<character(s)> on next line
Select this check box to have the specified character or characters moved to the next line when the lines are wrapped.
'else' on new line
Use this check box to have the corresponding statements or characters moved to the next line.
New line after <character>
Select this check box to have the code after the specified character moved to a new line.
Special else if treatment
If this check box is selected, else if statements are located in the same line.
Otherwise, else if statements are moved to the next line to the corresponding indent level.
Indent case branches
If this check box is selected, the case statement is located at the corresponding indent level. Otherwise, case statement is placed at the same indent level with switch.
Braces placement options
Item
Description
Braces placement style
Use this drop-down list to specify the position of the opening brace in class declarations, method declarations, and other types of declarations. The available options are:
End of line - select this option to have the opening brace placed at the declaration line end.
Next line if wrapped - select this option to have the opening brace placed at the beginning of the line after the multiline declaration line.
Next line - select this option to have the opening brace placed at the beginning of the line after the declaration line.
Next line shifted - select this option to have the opening brace placed at the line after the declaration line being shifted to the corresponding indent level.
Next line each shifted - select this option to have the opening brace placed at the line after the declaration line being shifted to the corresponding indent level, and have the next line shifted to the next indent level as well.
Force braces
From this drop-down list, choose the braces introduction method for if, for, while, and do () while statements. The available options are:
Do not force - select this option to suppress introducing braces automatically.
When multiline - select this option to have braces introduced automatically, if a statement occupies more than one line. Note that IntelliJ IDEA analyzes the number of lines in the entire statement but not only its condition.
Always - select this check box to have braces always introduced automatically.
Blank lines
Use this tab to define where and how many blank lines you want IntelliJ IDEA to retain and insert in your code after reformatting. For each type of location, specify the number of blank lines to be inserted. The results are displayed in the Preview pane.
Item
Description
Keep Maximum Blank Lines
In this area, specify the number of blank lines to be kept after reformatting in the specified locations.
Minimum Blank Lines
In the text boxes in this area, specify the number of blank lines to be present in the specified locations.
Use 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.
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 .
Multi-line strings
Item
Description
Multi-line support
Use this list to choose the support for the multi-line strings. You can choose from the following options:
Insert margin char - this is a default option that lets you add stripMargin method.
Closing quotes on new line - use this option to get quotes on a new line when you press Enter in multi-line strings.
None - use this option if you don't want to use any special support for multi-line strings.
Margin char
Use this field to enter a character to use in the stripMargin method or use the default one (|).
Margin char indent
Use this field to increase or decrease the indent for the Margin char.
Opening quotes on new line
Select this check box to place the opening quotes on the new line.
Keep opening quotes
Select this check box to keep the opening quotes on the same line overriding the Opening quotes on new line option.
Strip/Insert margin on copy/paste
Select this check box to remove the margin character when you copy/paste content of the margin. When this check box is cleared, the margin character is also copied and pasted.
Type Annotations
Use these settings for the code inspections.
Item
Description
Instance Type Annotations
Use this area to configure settings for Instance Type Annotations.
Local type Annotations
Use this area to configure settings for Local Type Annotations.
Special Cases
Use this area to configure setting for special cases in type annotations.
Arrangement
This tab lets you define a set of rules that rearranges your code according to your preferences.
Item
Description
Grouping Rules
Use this area to set the grouping rules.
Keep dependent methods together
Select this check box to group the dependent methods together. In order: list, select depth-first or breadth-first options.
Keep_java_style_getters_and_setters_together
Select this check box to keep Java getter and setter methods together. By default, this check box is selected.
Keep_scala_style_getters_and_setters_together
Select this check box to keep Scala getter and setter methods together. By default, this check box is selected.
Split into unarrangeable blocks by expressions
Select this check box
Matching rules
Use this area to define elements order as a list of rules, where every rule has a set of matches such as modifier or type.
- use this button to add a rule. The empty rule dialog window opens.
- use this button to remove the rule from the list.
- use this button to edit an existing rule. To see this button, navigate to the rule that you want to edit and click on the button. In pop-up window that opens, modify the rule fields.
- use these buttons to move the selected rule up or down.
Empty rule
Use this window to create a new matching rule or edit an existing one. You can select from the following filters:
Type - use this filter to choose classes or methods for your rule. Note that clicking twice on the type keyword will negate the condition.
Modifier - use this filter to select the types of modifiers for the rule. Note that clicking twice on the modifier keyword will negate the condition.
Order - use this option to select the sorting order for the rule. This option is useful when more than one element uses the same matching rule. In this case, selecting Keep order will keep the same order as was set before the rearrangement and selecting Order by Name will sort the elements with the same matching rule by their names.
This icon appears when you select Order by Name in Order option. The icon indicates that the items in this rule are alphabetized.
Other
Use this tab to configure syntax when you use certain symbols in the code.
Item
Description
Enforce procedure syntax for methods with Unit return type
Select this check box to show the explicit syntax for methods with Unit return type.
Replace '=>' with unicode symbol
Select this check box to change '=>' symbol to one in Unicode.
Replace '->' with unicode symbol
Select this check box to change '->' symbol to one in Unicode.
Replace '<-' in "for" generator with unicode symbol
Select this check box to change '<-' symbol to one in Unicode.
Kind Projector: Replace 'Lambda' with unicode symbol
Select this check box to change 'Lambda' symbol to one in Unicode.