在开发过程中咱们经常会遇到要依照规矩创立多个文件的状况,比方java的mvc、小程序的page、android的actiity、xml、model等状况…

你是不是还在一个文件一个文件的创立?如果是的话,能够看看这个文章..

完成作用

  • 右键创立自定义模版
  • 生成Activity、ViewModel、Layout XML

20221120111402.gif

完成步骤

1、翻开IDEA/AndroidStudio 设置

image.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

image.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

image.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的版本开端就有了。

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

Thanks Youe~

8/300