【问题标题】:Variable extraction to var in Intellij IDEAIntellij IDEA中的变量提取到var
【发布时间】:2019-06-10 16:38:50
【问题描述】:

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

var home = "127.0.0.1";

而不是

String home = "127.0.0.1";

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

【问题讨论】:

  • 没有得到你想要达到的目标,删除了答案。虽然您在关注什么,但它是否在更改变量名称或类型(建议)?
  • YouTrack上有相关请求:youtrack.jetbrains.com/issue/IDEA-190495
  • @nullpointer 我希望默认的 typevar 而不是 String
  • 可能 IntelliJ 的人分享我的偏好,以尽可能明确地生成代码,而不是强迫未来的读者推理变量类型。
  • 这对于具有泛型的复杂类型会更有帮助。像 HasMap>

标签: java intellij-idea java-11


【解决方案1】:

更新

功能自 IntelliJ IDEA 2019.1 发布后已实现并可用

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

修复版本 2019.1 (191.6183.87)


IntelliJ IDEA 尚未采用此功能。

我已向 JetBrains 的错误跟踪系统提交了明确的功能请求:https://youtrack.jetbrains.com/issue/IDEA-206367

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


另类

但是,您可以通过使用Custom Postfix Templates 插件在一定程度上实现所需的行为,该插件允许定义您自己的自定义postfix completion 模板。

这样的声明:

将转换为:

要实现这一点:

  • 1) 通过Settings → Plugins → Browse Repositories安装Custom Postfix Templates插件。
  • 2) 按 Shift+Alt+P(或进入菜单工具 → 自定义后缀模板 → 编辑当前语言的模板)打开自定义后缀模板您当前编辑器中的编程语言。
  • 3) 添加如下模板:

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

重新启动 IntelliJ,一切顺利。

注意。默认情况下,IntelliJ 中存在名为 'var' 的现有后缀补全,您可能希望禁用现有补全(通过设置 → 编辑器 → 常规 → 后缀补全)或为新的后缀补全寻找另一个名称。 p>

【讨论】:

    【解决方案2】:

    Jet Brains 将此功能添加到 Intellij 2019.1.1

    【讨论】:

    • 如何从设置中启用此功能?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-06
    • 1970-01-01
    • 2013-11-06
    • 2013-11-20
    • 1970-01-01
    相关资源
    最近更新 更多