Variable extraction to var in Intellij IDEA

Jet Brains added this feature to Intellij 2019.1.1

variable extraction in Intellij 2019.1.1


Update

Feature has been implemented and available since IntelliJ IDEA 2019.1 release

https://youtrack.jetbrains.com/issue/IDEA-179176

Fix versions 2019.1 (191.6183.87)


This feature hasn't been adopted by IntelliJ IDEA yet.

I've submitted an explicit feature request at JetBrains' bug tracking system: https://youtrack.jetbrains.com/issue/IDEA-206367

Although, other similar tickets which have been submitted before, are not yet completed:

  • https://youtrack.jetbrains.com/issue/IDEA-179176
  • https://youtrack.jetbrains.com/issue/IDEA-198828


Alternative

However, you can somewhat achieve the desired behavior by using Custom Postfix Templates plugin, which allows to define your own custom postfix completion templates.

Statement like this:

enter image description here

Will be converted to:

enter image description here

To achieve this:

  • 1) Install Custom Postfix Templates plugin via Settings → Plugins → Browse Repositories.
  • 2) Press Shift+Alt+P (or go to menu Tools → Custom Postfix Templates → Edit Templates of Current Language) to open the custom postfix templates for the programming language in your current editor.
  • 3) Add the following template:

    .var : Extracts variable as inferred 'var' type
        NON_VOID                 →  var $VAR:suggestVariableName()$ = $expr$;
    

Restart IntelliJ and you're good to go.

Note. Existing postfix completion named 'var' exists in IntelliJ by default, you might want to disable the existing one (via Settings → Editor → General → Postfix Completion) or find another name for a new one.