在Intellij IDEA中变量提取到var

Jew*_*els 16 java intellij-idea java-11

在使用Java 11在Intellij IDEA中提取变量(ctrl + alt + v)时,我希望默认情况下将其提取为a var而不是详细类型.

var home = "127.0.0.1";
Run Code Online (Sandbox Code Playgroud)

代替

String home = "127.0.0.1";
Run Code Online (Sandbox Code Playgroud)

有没有办法配置Intellij IDEA来做到这一点?

Jew*_*els 11

JetBrains 在 IntelliJ 2019.1.1 中添加了此功能。

IntelliJ 2019.1.1 中的变量提取

  • 如何从设置中启用此功能? (4认同)
  • @VadymOzarynskyi 设置 ui 已更改我相信它现在看起来像这样 https://i.imgur.com/jR2SUrk.png (3认同)

Mik*_*kov 6

更新

自 IntelliJ IDEA 2019.1发布以来,该功能已实现并可用

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

修复版本 2019.1 (191.6183.87)


IntelliJ IDEA 尚未采用此功能。

我已经在 J​​etBrains 的错误跟踪系统上提交了一个明确的功能请求:https : //youtrack.jetbrains.com/issue/IDEA-206367

虽然,之前已经提交的其他类似的票还没有完成:


选择

但是,您可以通过使用自定义后缀模板插件来实现所需的行为,该插件允许定义您自己的自定义后缀完成模板。

像这样的声明:

在此处输入图片说明

将转换为:

在此处输入图片说明

为达到这个:

  • 1)通过设置安装自定义后缀模板插件?插件?浏览存储库
  • 2) 按Shift+Alt+P(或转到菜单工具?自定义后缀模板?编辑当前语言的模板)在当前编辑器中打开编程语言的自定义后缀模板。
  • 3)添加以下模板:

    .var : Extracts variable as inferred 'var' type
        NON_VOID                 ?  var $VAR:suggestVariableName()$ = $expr$;
    
    Run Code Online (Sandbox Code Playgroud)

重新启动 IntelliJ,您就可以开始了。

注意。默认情况下,IntelliJ 中存在名为“var”的现有后缀补全,您可能希望禁用现有后缀(通过Settings ? Editor ? General ? Postfix Completion)或为新的后缀补全找到另一个名称。