如何使用Android Studio为newInstance片段创建Kotlin实时模板

j2e*_*nue 4 android live-templates kotlin android-studio

我正在寻找一种创建新的Kotlin实时代码模板的方法,以便每当我键入newIns ....并单击tab时,它都可以将以下内容作为实时模板选择进行打印:

companion object {
    fun newInstance(b: Bundle): DetailsFragment {
        val frag = DetailsFragment()
        frag.arguments = b
        return frag
    }
}
Run Code Online (Sandbox Code Playgroud)

在Java中,操作方法相同,并且已经有了“ newInstance”的缩写,并且Android Studio中存在一个实时模板。我想要科特林也一样。让我给你看一张照片:

在此处输入图片说明

注意,Java Android已经具有newInstance模板。我要给科特林。这是我到目前为止的内容:

在此处输入图片说明

到目前为止,我拥有的模板代码如下所示:

companion object { 
    fun newInstance($args$:Bundle):$fragment$ {
        $nullChecks$
        android.os.Bundle args = Bundle();
        $addArgs$
        $fragment$ fragment = $fragment$();
        fragment.setArguments(args);
        return fragment;
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,当我退出设置并在Kotlin中键入缩写的前几个单词并在Mac上按Tab或Ctrl +空格键时,什么也没有发生。我不确定我的语法有误,我不确定。有任何建议吗?

Avi*_*kar 6

步骤1:

转到Android Studio中的“实时模板”部分。

对于Windows:

文件 > 设置 > 编辑器 > 动态模板

对于Mac:

Android Studio > 首选项 > 编辑器 > 动态模板

第2步:

选择Kotlin模板组。然后点击+弹出窗口右上角的present。选择实时模板

第三步:

现在,您可以添加实时模板。检查弹出窗口的底部。

添加缩写: newInstance

添加描述:使用参数创建片段的实例

添加模板文本:

companion object {
    fun newInstance(args: Bundle): $fragment$ {
        val fragment = $fragment$()
        fragment.arguments = args
        return fragment
    }
}
Run Code Online (Sandbox Code Playgroud)

添加适用的上下文。点击Define。从列表中选择Kotlin。

选择根据样式重新格式化

第四步:

点击描述下方的编辑变量

现在点击Expression作为变量名fragment。点击向下箭头。您可以看到一个表达式列表。从那里选择kotlinClassName()

点击编辑模板变量的确定

现在点击实时模板的应用确定

要检查,请输入newInstance用Kotlin编写的片段。