有没有办法自动填充参数名称?

时间:2017-04-04 03:00:42

标签: android-studio intellij-idea kotlin

当我使用大量参数实例化类(或调用方法)时,我总是使用命名参数。但每次输入每个参数名称都很累人:

data class User(val id: String, 
                val name: String,
                val age: Int)

val user = User(id = "1", name = "John", age = 99)

IDEA可以预填这样的参数吗?

val user = User(
    id = ,
    name = ,
    age = 
)

6 个答案:

答案 0 :(得分:2)

请参阅以下请求:

您可以通过在“帮助”中添加java.completion.argument.live.template=true来启用实验性功能编辑自定义属性。

答案 1 :(得分:1)

您可以使用实时模板:

设置> 编辑> 实时模板

选择代码组并由Green Plus 1.live Template

添加

现在你需要填充物品

缩写是呼叫模板代码的名称。

在模板中键入您喜欢的代码:

    val user = User(
            id = $arg1$,
            name = $arg2$,
            age = $arg3$
    )

$ arg1 $表示你可以在哪里键入new并按Tab键跳转

当您键入代码的缩写名称时,在代码中

,可以选择和代码生成

好运

答案 2 :(得分:1)

虽然这实际上并没有生成包含所有参数名称的整个调用模板,但无论如何它可能会有所帮助。

Kotlin IDEA插件1.1.1在您开始输入时建议自动完成中的参数名称。对于示例中的User构造函数,请开始输入:

val u = User(i
              ^

应该有一个建议id =

enter image description here

如果按 Enter Tab ,则会插入。然后你可以继续使用其他参数:

val u = User(id = "123", n
                          ^

此处,name =应出现在建议中,依此类推。

此外,参数信息弹出窗口应该可以帮助您:

enter image description here

答案 3 :(得分:1)

有一个很棒的插件:https://plugins.jetbrains.com/plugin/10942-kotlin-fill-class

它会使用一些默认参数自动填充构造函数,因此您可以覆盖所需的那些;)

答案 4 :(得分:1)

如果您已经在构造函数中添加了所有params值,则Android Studio将帮助您做到这一点。 只需单击对象(在您的情况下为User),然后单击选项+ Enter(在Mac上),您将获得add names to call arguments

答案 5 :(得分:0)

就是这样:

  1. 右键单击构造函数方法
  2. 显示上下文操作
  3. 添加名称以调用参数
  4. 利润

Right click on the constructor method

Show Context Actions

Add names to call arguments

Profit