【Live Templates】给你敲代码的速度加个 Buff

259 阅读2分钟

【Live Templates】给你敲代码的速度加个 Buff

在日常写代码的时候,我们总是免不了编写各种,重复的、冗长的代码。像是创建 ToastLog,还有重写各种各样的模板方法。

Toast.makeText(this, "", Toast.LENGTH_SHORT).show()

Log.i(TAG,"log")

override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
}

Live Templates

为了解决这种不愉快的事情,Android studio 贴心的为我们准备了 Live Templates

LiveTemplates_1

只需要输入特定的缩写,按下回车或 Tab 键,就可以生成对应的代码。这样我们只要补充少许的代码就可以了。(输入完按下回车即可以跳转下一个位置)

Livew_Templates_example2

我还要

官方自带的模板毕竟有限,不一定能满足我们所有的需求。那么我们就自己建一个吧。

打开路径 File -> Settings -> Editor -> Live Templates (在 Settings 里搜索 Live Templates 也行)

Settings

右面就是官方默认提供的模板了,可以看一下有啥,记一下方便我们使用。下面我们自己来新建一个,点击最右面的新建按钮。

new templates

  • Live Templates
    • 新建一个模板
  • Templates Group
    • 新建模板组,就是左边的各种模板分类啦

点击创建后,下面就会显示填写区域。

config template

  • Abbreviation - 就是触发的缩写

  • Description - 这个模板的描述

  • Template text - 你的模板代码

  • Options - 扩展的选项,还可以控制是否要格式化代码

  • Define - 在代码输入框的下面,点击后可以选择对应的语言环境

  • Edit variables - 设置需要输入的参数

    • 在代码模板中,我们可以利用 $name$,来表示需要我们输入的内容,然后在这里设置他的一些属性

      • variables
      • Expression - 表达式 。eg, className()返回当前类名,clipboard()剪贴板内容。更多内容点前面跳转查看。
      • Default value - 默认值
      • Skip if defined - 光标会直接跳到句末,不会在变量处停留

加点什么模板好呢

这里分享一些我的使用,欢迎大家评论分享一下自己的想法。

  • 自定义 View 的构造函数。一个缩写就能搞定3个构造函数,想想就很开心
  • 打印执行时间。方便我测试方法的执行速度
  • MVP 的模板代码。Jetpack 真香。
  • Bundle 中 Key 的创建。虽然不长,但是不用写前缀也是极好的。
  • onClick 重载方法。能少一点是一点。
  • measure 方法的模板。再见,MeasureSpace
  • Fragment 切换方法。
  • 打点统计的方法。

最后

虽然在创建 Live Templates 的时候有点麻烦,但是收益还是很大的,这样有更多的时间去摸鱼了(误,最重要的是让我们从这些重复的,单一的工作中抽离出来,去写有意思的东西(bug)。