IntelliJ IDEA 14.0.0 Web Help

Extract Variable

Basics

The Extract Variable refactoring puts the result of the selected expression into a variable. It declares a new variable and uses the expression as an initializer. The original expression is replaced with the new variable (see the examples below) .

In Java, the type of the new variable corresponds to that returned by the expression. There is an option of declaring the new variable asfinal.

The following is available only in the Ultimate edition of IntelliJ IDEA

To perform this refactoring, you can use:

You can select the expression to be replaced with a variable yourself. You can as well use smart expression selection. In this case IntelliJ IDEA will help you select the desired expression.

This refactoring is also available for JavaScript and SASS .

Java examples

Before After
public void method() { int a = 1; ... int b = a + anotherClass.intValue(); int c = b + anotherClass.intValue(); }
public void method() { int a = 1; ... int number = anotherClass.intValue(); int b = a + number; int c = b + number; }
public void method() { int a = anotherClass.innerClass.i; int b = anotherClass.innerClass.j; }
public void method() { AnotherClass.InnerClass aClass = anotherClass.innerClass; int a = aClass.i; int b = aClass.j; }
static void printNames(final String fullName) { System.out.println(fullName.substring(fullName.indexOf(" ") + 1)); System.out.println(fullName.substring(0, fullName.indexOf(" "))); }
static void printNames(final String fullName) { int firstNameEndIndex = fullName.indexOf(" "); System.out.println(fullName.substring(firstNameEndIndex + 1)); System.out.println(fullName.substring(0, firstNameEndIndex)); }

Extracting variable in-place

To extract a variable using in-place refactoring

  1. In the editor, select the expression to be replaced with a variable. You can do that yourself or use the smart expression selection feature to let IntelliJ IDEA help you. So, do one of the following:
    • Highlight the expression. Then choose Refactor | Extract | Variable from the main or the context menu.

      Alternatively, pressCtrl+Alt+V.

      introduceVariableJavaSelectExpression.png
    • Place the cursor before or within the expression. Choose Refactor | Extract Variable from the main or the context menu, or pressCtrl+Alt+V.
      introduceVariableJavaSmartSelectExpressionStart.png

      In the Expressions pop-up menu, select the expression. To do that, click the required expression. Alternatively, use the Up and Down arrow keys to navigate to the expression of interest, and then press Enter to select it.

      introduceVariableJavaSmartSelectExpression.png
  2. If more than one occurrence of the selected expression is found, select Replace this occurrence only or Replace all occurrences in the Multiple occurrences found pop-up menu. To select the required option, just click it. Alternatively, use the Up and Down arrow keys to navigate to the option of interest, and press Enter to select it.
    introduceVariableJavaOccurrences.png
  3. Specify the name of the variable. Do one of the following:
    • Select one of the suggested names from the pop-up list. To do that, double-click the suitable name. Alternatively, use the Up and Down arrow keys to navigate to the name of interest, and Enter to select it.
      introduceVariableJavaSelectName.png
    • Edit the name by typing. The name is shown in the box with red borders and changes as you type. When finished, pressEscape.
      introduceVariableJavaTypeName.png

Extracting variable with a dialog

To extract a variable using the dialog box

  1. In the editor, select the expression to be replaced with a variable. You can do that yourself or use the smart expression selection feature to let IntelliJ IDEA help you. So, do one of the following:
    • Highlight the expression. Then choose Refactor | Extract | Variable from the main or the context menu.

      Alternatively, pressCtrl+Alt+V.

    • Place the cursor before or within the expression. Choose Refactor | Extract Variable from the main or the context menu, or pressCtrl+Alt+V.

      In the Expressions pop-up menu, select the expression. To do that, click the required expression. Alternatively, use the Up and Down arrow keys to navigate to the expression of interest, and then press Enter to select it.

  2. In the Extract Variable Dialog dialog:
    1. Specify the variable name next toName. You can select one of the suggested names from the list or type the name in the Name box.
    2. If more than one occurrence of the selected expression is found, you can select to replace all the found occurrences by selecting the corresponding check box. If you want to replace only the current occurrence, clear the Replace all occurrences check box.
    3. If you want to declare the new variablefinal, select the Declare final check box. (This option is available only for Java.)
    4. For ActionScript, you can choose to introduce a constant rather than a variable. To do that, select the Make constant check box.

      Note that ActionScript is not supported in IntelliJ IDEA Community Edition.

    5. ClickOK.

Refer to the following sections for the other language- and framework-specific refactorings:

See Also

Last modified: 4 December 2014
comments powered by Disqus