IntelliJ IDEA 2023.1 Help

Write and edit source code

When you work with code, IntelliJ IDEA ensures that your work is stress-free. It offers various shortcuts and features to help you add, select, copy, move, edit, fold, find occurrences, and save code.

For navigation inside the editor, refer to Editor basics.

Find action

  • If you do not remember a shortcut for the action you want to use, press Control+Shift+A to find any action by name.

    Find Action dialog

You can use the same dialog to find classes, files, or symbols. For more information, refer to Searching Everywhere.

Add a new class, file, package, or scratch file

  • In the editor, press Control+Alt+Insert to add a class, file, or package.

    If the focus is inside the Project tool window and you want to add a new element, press Alt+Insert.

  • To create a new Scratch file, press Control+Alt+Shift+Insert.

    IntelliJ IDEA creates a temporary file that you can run and debug. For more information, refer to Scratch files.

Toggle read-only attribute of a file

If a file is read-only, it is marked with the closed lock icon the Locked icon in the status bar, in its editor tab, or in the Project tool window. If a file is writable, it is marked with the open lock icon the Unlocked icon in the Status bar.

  1. Open file in the editor or select it in the Project tool window.

  2. Do one of the following:

    • From the main menu, select File | File Properties | Make File Read-only or File | File Properties | Make File Writable.

    • Click the lock icon in the status bar.

If a read-only status is set by a version control system, it's suggested that you use IntelliJ IDEA version control integration features. For more information, see Version control.

Select code constructs

  • In the editor, place the caret at the item you want to select and press Control+W / Control+Shift+W to extend or shrink your selection.

    For example, in a plain text file, the selection starts within the whole word then extends to the sentence, paragraph, and so on.

    In a Java file, if you start by selecting an argument in a method call, it will extend to all arguments, then to the whole method, then to the expression containing this method, then to a larger block of expressions, and so on.

    Code selection
  • If you need just to highlight your braces, place the caret immediately after the block closing brace/bracket or before the block opening brace/bracket.

Select code according to capitalization

  1. In the Settings dialog (Control+Alt+S), go to Editor | General | Smart Keys.

  2. Select the Use "CamelHumps" words checkbox.

If you want to use double-click when selecting according to capitalization, make sure that the Honor "CamelHumps" words settings when selecting on double click checkbox right below is selected.

CamelHumps woeds settings

Configure tabs and indents

  1. In the Settings dialog (Control+Alt+S), go to Editor | Code Style.

  2. Select a language for which you want to configure the indentation.

  3. From the options on the right, on the Tabs and Indents, select the Use tab character for the editor to use tabs when you press Tab, indent, or reformat code. You can also configure the tab size if you need. If you don't select this option, IntelliJ IDEA will use spaces.

    Tabs and indents

Copy and paste code

You can use the standard shortcuts to copy Control+C and paste Control+V any selected code fragment. If nothing is selected, IntelliJ IDEA automatically copies as is the whole line where the caret is located.

By default, when you paste anything in the editor, IntelliJ IDEA performs "smart" paste, for example, pasting multiple lines in comments will automatically add the appropriate markers to the lines you are pasting. If you need to paste just plain text, press Control+Alt+Shift+V.

  • When you copy (Control+C) or cut (Control+X) a line without any code selected, the paste action will add the contents of the clipboard to above the current line, not at your caret.

    If you want to paste your copied code at the caret, select the Paste at the caret position option in the advanced settings.

  • Place the caret at a line or a symbol, right-click to open the context menu, select Copy/Paste Special | Copy Reference. When you select the Copy Reference (Control+Alt+Shift+C) option, IntelliJ IDEA creates a reference string that includes the line number of the selected line or symbol. You can press Control+V to paste the copied reference anywhere.

  • IntelliJ IDEA keeps track of everything you copy to the clipboard. To paste from history, in the editor, from the context menu, select Copy/Paste Special | Paste from History (Control+Shift+V). In the dialog that opens, select your entry and click Paste.

  • When you copy and paste code to the editor, IntelliJ IDEA displays the hidden (special) characters represented by their Unicode name abbreviation.

    Hidden characters

Transpose characters

  1. In the editor, place the caret at the characters you want to swap.

  2. From the main menu, select Edit | Transpose.

    There is no default shortcut for this action. You can assign a custom shortcut.

Lines of code

IntelliJ IDEA offers several useful shortcuts for manipulating code lines.

  • To add a line after the current one, press Shift+Enter. IntelliJ IDEA moves the caret to the next line.

  • To add a line before the current one, press Control+Alt+Enter. IntelliJ IDEA moves the caret to the previous line.

  • To duplicate a line, press Control+D.

  • To sort lines alphabetically in the whole file or in a code selection, from the main menu, select Edit | Sort Lines or Edit | Reverse Lines. These actions might be helpful when you work with property files, data sets, text files, log files, and so on. If you need to assign shortcuts to those actions, refer to Configure keyboard shortcuts for more information.

  • To delete a line, place the caret at the line you need and press Control+Y.

  • To join lines, place the caret at the line to which you want to join the other lines and press Control+Shift+J. Keep pressing the keys until all the needed elements are joined.

    You can also join string literals, a field or variable declaration, and a statement. Note that IntelliJ IDEA checks the code style settings and eliminates unwanted spaces and redundant characters.

  • To split string literals into two parts, press Enter.

    IntelliJ IDEA splits the string and provides the correct syntax. You can also use the Break string on '\n' intention to split string literals. Press Alt+Enter or click the Intention action button to select this intention.

  • To comment a line of code, place the caret at the appropriate line and press Control+/. Press Control+/ again on the same line to uncomment it.

  • To move a line up or down, press Alt+Shift+ArrowUp or Alt+Shift+ArrowDown respectively.

  • To move (swap) a code element to the left or to the right, place the caret at it, or select it and press Control+Alt+Shift+ArrowLeft for left or Control+Alt+Shift+ArrowRight for right.

    For example, for Java you can use these actions for method invocation or method declaration arguments, enum constants, array initializer expressions. For XML or HTML, use these actions for tag attributes.

    Move a code element left or right

Code statements

Move statements

  • In the editor, place the caret at the needed statement and press Control+Shift+ArrowUp to move a statement up or Control+Shift+ArrowDown to move a statement down. IntelliJ IDEA moves the selected statement performing a syntax check.

Complete current statement

  • In the editor, press Control+Shift+Enter or from the main menu select Code | Complete Current Statement. IntelliJ IDEA inserts the required trailing comma automatically in structs, slices, and other composite literals. The caret is moved to the position where you can start typing the next statement.

Unwrap or remove statement

  1. Place the caret at the expression you want to remove or unwrap.

  2. Press Control+Shift+Delete.

    IntelliJ IDEA shows a popup with all actions available in the current context. To make it easier to distinguish between statements to be extracted and statements to be removed, IntelliJ IDEA uses different background colors.

    Select a statement to unwrap
  3. Select an action and press Enter.

    Unwrapping result

Code fragments

  • Move and copy code fragments by dragging them in the editor.

    • To move a code fragment, select it and drag the selection to the target location.

    • To copy a code selection, keeping Control pressed, drag it to the target location.

    The drag functionality is enabled by default. To disable it, in the Settings dialog (Control+Alt+S), go to Editor | General and clear the Move code fragments with drag-and-drop checkbox in the Mouse Control section.

  • To toggle between the upper and lower case for the selected code fragment, press Control+Shift+U.

    Note that when you apply the toggle case action to the CamelCase name format, IntelliJ IDEA converts the name to the lower case.

  • To comment or uncomment a code fragment, select it and press Control+Shift+/.

    To configure settings for where the generated line or block comments should be placed in Java, in the Settings dialog (Control+Alt+S), go to Editor | Code Style | Java and on the Code Generation tab use options in the Comment Code section.

Code folding

Folded code fragments are shown as shaded ellipses (Folded fragment). If a folded code fragment contains errors, IntelliJ IDEA highlights the fragment in red.

code folding

To configure the default code folding behavior, in the Settings dialog (Control+Alt+S), go to Editor | General | Code Folding.

Expand or collapse code elements

  • To fold or unfold a code fragment, press NumPad-NumPad--/NumPad-NumPad-+. IntelliJ IDEA folds or unfolds the current code fragment, for example, a single method.

  • To collapse or expand all code fragments, press NumPad-NumPad--/NumPad-NumPad-+.

    IntelliJ IDEA collapses or expands all fragments within the selection, or, if nothing is selected, all fragments in the current file, for example, all methods in a file.

  • To collapse or expand code recursively, press NumPad-NumPad--/NumPad-NumPad-+. IntelliJ IDEA collapses or expands the current fragment and all its subordinate regions within that fragment.

  • To fold blocks of code, press Control+Shift+.. This action collapses the code fragment between the matched pair of curly braces {}, creates a custom folding region for that fragment, and makes it "foldable".

  • To collapse or expand doc comments in the current file, in the main menu select Code | Folding | Expand doc comments/Collapse doc comments.

  • To collapse or expand a custom code fragment, select it and press Control+..

    You can fold or unfold any manually selected regions in code.

Fold or unfold nested fragments

  • To expand the current fragment and all the nested fragments, press NumPad-NumPad-*, 1. You can expand the current fragment up to the specified nesting level (from 1 to 5).

  • To expand all the collapsed fragments in the file, press NumPad-NumPad-*, 1. You can expand the collapsed fragments up to the specified nesting level (from 1 to 5).

Use the Surround With action

You can collapse or expand code using the Surround With action.

  1. In the editor, select a code fragment and press Control+Alt+T.

  2. From the popup menu, select <editor-fold...> Comments or region...endregion Comments.

  3. Optionally, specify a description under which the collapsed fragment will be hidden.

  4. To collapse or expand the created region, press Control+..

  5. To navigate to the created custom region, press Control+Alt+..

Disable code folding outline

You can disable the code folding outline that appears on the gutter.

  1. In the Settings dialog (Control+Alt+S), go to Editor | General | Code Folding.

  2. Clear the Show code folding outline checkbox.

Last modified: 02 June 2023