如何使用 Android studio 为 newInstance Fragments 创建一个 kotlin live 模板
How to create a kotlin live template for newInstance Fragments using Android studio
我正在寻找一种方法来创建一个新的 Kotlin 实时代码模板,这样每当我输入 newIns.... 它并点击选项卡时,它将能够打印以下内容作为实时模板选项:
companion object {
fun newInstance(b: Bundle): DetailsFragment {
val frag = DetailsFragment()
frag.arguments = b
return frag
}
}
在 Java 中,它是以相同的方式完成的,并且已经有一个 "newInstance" 缩写,并且在 Android Studio 中存在一个实时模板。我想为 Kotlin 做同样的事情。让我给你看张照片:
请注意,Java Android 已经有 newInstance
模板。我想要这个用于 Kotlin。这是我目前所拥有的:
我目前的模板代码如下所示:
companion object {
fun newInstance($args$:Bundle):$fragment$ {
$nullChecks$
android.os.Bundle args = Bundle();
$addArgs$
$fragment$ fragment = $fragment$();
fragment.setArguments(args);
return fragment;
}
}
但是当我退出设置并在 Kotlin 中键入缩写的前几个词并在 mac 上按 tab 或 ctrl + 空格键时没有任何反应。我想我的语法有误,我不确定。有人有什么建议吗?
第 1 步:
转到 Android Studio 中的实时模板部分。
对于Windows:
文件 > 设置 > 编辑器 > 实时模板
对于Mac:
Android Studio > 首选项 > 编辑器 > 实时模板
第 2 步:
Select Kotlin 模板组。然后点击弹出窗口右上角的 +
。 Select 实时模板.
第 3 步:
现在您可以添加实时模板了。检查弹出窗口的底部。
添加缩写: newInstance
添加描述:创建带参数的片段实例
添加模板文本:
companion object {
fun newInstance(args: Bundle): $fragment$ {
val fragment = $fragment$()
fragment.arguments = args
return fragment
}
}
添加适用的上下文。点击 Define
。 Select 列表中的 Kotlin。
Select 根据样式重新格式化
第 4 步:
点击描述下方的编辑变量。
现在点击 表达式 作为变量名称 fragment
。点击向下箭头。您可以看到一个表达式列表。从那里 select kotlinClassName()
.
点击编辑模板变量的确定
现在点击实时模板的应用和确定。
检查用 Kotlin 编写的片段中的类型 newInstance
。
稍微简化的版本(更惯用)是:
fun newInstance($args$) : $fragment$ =
$fragment$().apply {
arguments = Bundle().apply {
$addArgs$
}
}
或
fun newInstance(args: Bundle) : $fragment$ =
$fragment$().apply {
arguments = args
}
我正在寻找一种方法来创建一个新的 Kotlin 实时代码模板,这样每当我输入 newIns.... 它并点击选项卡时,它将能够打印以下内容作为实时模板选项:
companion object {
fun newInstance(b: Bundle): DetailsFragment {
val frag = DetailsFragment()
frag.arguments = b
return frag
}
}
在 Java 中,它是以相同的方式完成的,并且已经有一个 "newInstance" 缩写,并且在 Android Studio 中存在一个实时模板。我想为 Kotlin 做同样的事情。让我给你看张照片:
请注意,Java Android 已经有 newInstance
模板。我想要这个用于 Kotlin。这是我目前所拥有的:
我目前的模板代码如下所示:
companion object {
fun newInstance($args$:Bundle):$fragment$ {
$nullChecks$
android.os.Bundle args = Bundle();
$addArgs$
$fragment$ fragment = $fragment$();
fragment.setArguments(args);
return fragment;
}
}
但是当我退出设置并在 Kotlin 中键入缩写的前几个词并在 mac 上按 tab 或 ctrl + 空格键时没有任何反应。我想我的语法有误,我不确定。有人有什么建议吗?
第 1 步:
转到 Android Studio 中的实时模板部分。
对于Windows:
文件 > 设置 > 编辑器 > 实时模板
对于Mac:
Android Studio > 首选项 > 编辑器 > 实时模板
第 2 步:
Select Kotlin 模板组。然后点击弹出窗口右上角的 +
。 Select 实时模板.
第 3 步:
现在您可以添加实时模板了。检查弹出窗口的底部。
添加缩写: newInstance
添加描述:创建带参数的片段实例
添加模板文本:
companion object {
fun newInstance(args: Bundle): $fragment$ {
val fragment = $fragment$()
fragment.arguments = args
return fragment
}
}
添加适用的上下文。点击 Define
。 Select 列表中的 Kotlin。
Select 根据样式重新格式化
第 4 步:
点击描述下方的编辑变量。
现在点击 表达式 作为变量名称 fragment
。点击向下箭头。您可以看到一个表达式列表。从那里 select kotlinClassName()
.
点击编辑模板变量的确定
现在点击实时模板的应用和确定。
检查用 Kotlin 编写的片段中的类型 newInstance
。
稍微简化的版本(更惯用)是:
fun newInstance($args$) : $fragment$ =
$fragment$().apply {
arguments = Bundle().apply {
$addArgs$
}
}
或
fun newInstance(args: Bundle) : $fragment$ =
$fragment$().apply {
arguments = args
}