本文翻译自 Writing More Code by Writing Less Code with Android Studio Live Templates

我们都写过大量的 Android 代码,至少也犯过一个如下的错误:

Toast.makeText(MainActivity.this, "This will not be displayed");

其实有一种方法可以避免这个错误,并且不用敲击那么多按键?

动态模板

如果是有经验的 IntelliJ 用户,可能已经了解过动态模板,而 Android Studio 中也包含了针对 Android 特性的相关模板。

除非你的报酬是特么按敲击次数来计算的,否则估计没有人愿意天天写这些重复的代码。下面这幅图很直观的展示了动态模板是如何工作的:

正如所看到的,动态模板出现在补全选项中,选中动态模板的标签后,插入一个代码片段。
如上所示,输入“Toast”,然后按Tab键后自动生成了一个标准的 Toast,我们还可以通过预设的占位符输来入一些参数。
Android Studio 动态模板
IntelliJ 已经包含了大量的动态模板,而 Android Studio 则为 Android 开发提供了 48 个特有的模板。以下是我最喜欢一些:

动态模板还可以插入一些体量较大的代码片段,比如创建一个 Activity 的静态启动方法:

public static void start(android.content.Context context) {    
  android.content.Intent starter = new Intent(context, $ACT$.class);
  starter.putExtra($CURSOR$);
  context.startActivity(starter);
}

同样,也可以创建一个 Fragment 实例,一个 ViewConstructors,以及一个自定义View的构造方法。
前往File > Settings > Editor > Live Templates 菜单选项查看完整列表。
当然如果你喜欢的模板不存在,你可以创建一个属于你自己的动态模板
前往 File > Settings > Editor > Live Templates,点击 Android 分组,然后点击 + 号,新增一个动态模板。

其实已经有前辈为我们创建了大量非常有用的动态模板,前往https://github.com/keyboardsurfer/idea-live-templates

尽情享受动态模板带来的便捷吧!