小技巧:Android Studio 、IDEA 代码模版多文件生成功能

在开发过程中我们经常会遇到要按照规则创建多个文件的情况,比如java的mvc、小程序的page、android的actiity、xml、model等情况...

你是不是还在一个文件一个文件的创建?如果是的话,可以看看这个文章..

实现效果

  • 右键创建自定义模版

  • 生成Activity、ViewModel、Layout XML

eea1d15ff59f1ef59bbe407001eb3156.png

实现步骤

1、打开IDEA/AndroidStudio 设置

outside_default.png

2、使用模版变量配置主文件

  • 以下示例中,PACKAGE_NAMEUSER等是系统提供的,相关提供的变量在底部的Description中有说明。

  • Name、TITLE、LAYOUT是系统未提供的,会在创建的时候弹出对话框让输入这些变量的值是什么。这个很关键

  • 可以看到最底下,我主文件加了个IF判断了个LAYOUT_DIR_TO_PAGES的变量,但是没有做任何处理。这是因为,等下创建子文件的时候需要用到这个变量但是又不想显示它,划重点:子文件共享主文件的变量

Activity 配置:
package ${PACKAGE_NAME};


import androidx.annotation.NonNull;


import com.sftpos.airportclear.R;
import com.sftpos.airportclear.common.BaseTopBarActivity;
import com.sftpos.airportclear.databinding.Activity${NAME}Binding;


import org.jetbrains.annotations.NotNull;


/**
* author ${USER}
* ${TITLE} Activity
*/
public class ${NAME}Activity extends BaseTopBarActivity<Activity${NAME}Binding> {


    @Override
    public int intiLayout() {
        return R.layout.activity_${LAYOUT};
    }




    public ${NAME}Model model;


    @Override
    public void initView() {
        model = new ${NAME}Model();
        bind.setModel(model);
    }


    @NonNull
    @NotNull
    @Override
    protected String getTitile() {
        return "${TITLE}";
    }
}


#if (${LAYOUT_DIR_TO_PAGES})
#end

outside_default.png

ViewModel配置:
  • 子文件共享主文件变量

package ${PACKAGE_NAME};


/**
* author ${USER}
* ${TITLE} ViewModel
*/
public class ${NAME}Model{


    
}
Layout XML 文件:
  • 因为android的xml都在res/layout目录下,而模版文件的FileName只能配置相对于主文件的路径,所以我们需要一个变量来控制相对路径,我这里是以我项目中src/pages为参考,LAYOUT_DIR_TO_PAGES传入相对于pages目录的../来定位道res/layout目录。最终以Layout变量来设置布局文件名称。

  • 可以看到我们还借助PACKAGE_NAME来自动绑定了ViewModel

outside_default.png

<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools">


    <data>
        <variable
            name="model"
            type="${PACKAGE_NAME}.${NAME}Model" />
    </data>
    <androidx.constraintlayout.widget.ConstraintLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">






    </androidx.constraintlayout.widget.ConstraintLayout>
</layout>
  • 配置结束后,右键目录 选择自定义的模版,输入变量参数就可以了~

以上是Android的一个页面创建模版示范,通过该配置,原本需要创建多个文件、修改各种名称、填入配置代码等繁琐流程都可以一步搞定了。 同理我们可以配置各种项目所需要的模版配置.

补充说明:一些低版本的IDEA、Android Studio不支持多文件模版。我这里试了试2020.3.1的版本开始就有了。

有多少人不知道这个功能的~!来报个道!

作者:何以故
链接:https://juejin.cn/post/7167940027287076901

关注我获取更多知识或者投稿

7be71c0381eea75e097c059565a4d929.jpeg

0bf6f362b5a8f57f6feda5d4af2f7ac9.jpeg

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值