intellij idea 插件开发---live template

注:创建plugin项目可参考本人之前的博客https://my.oschina.net/u/2526698/blog/1548929
一.最终效果

1.输入test出现快捷提示,回车便创建测试方法,效果如下图

--->

以此类推,你可以创建controller 方法,等等

二.实现步骤

1.创建testTemplate.xml文件,路径为:resources\liveTemplates\testTemplate.xml

编辑testTemplate.xml,代码如下:

<templateSet group="TEST">
    <template name="test" value="@Test&#10;public void $TEXT$Test() {&#10;  $END$&#10;}" description="create test method." toReformat="true" toShortenFQNames="true">
        <variable name="TEXT" expression="" defaultValue="" alwaysStopAt="true" />
        <context>
            <option name="JAVA" value="true" />
        </context>
    </template>
</templateSet>

name="test":表示我们输入test的时候,idea将自动出现模板提示,value便是模板内容,配置内容反映在idea界面上:settings--->live templates,后面演示;

2.创建TestTemplateProvider类,实现DefaultLiveTemplatesProvider接口,如下所示:

public class TestTemplateProvider  implements DefaultLiveTemplatesProvider {

    @Override
    public String[] getDefaultLiveTemplateFiles() {
        //模板
        return new String[]{"liveTemplates/testTemplate"};
    }

    @Nullable
    @Override
    public String[] getHiddenLiveTemplateFiles() {
        return new String[0];
    }
}

3.创建TestContext类,继承TemplateContextType类,如下所示:

public class TestContext extends TemplateContextType {

    protected TestContext() {
        super("JAVA", "Java");
    }

    @Override
    public boolean isInContext(@NotNull PsiFile file, int offset) {
        return file.getName().endsWith(".java");
    }
}

其中,super("JAVA", "Java");约束了作用范围,记得需要在之前配置的xml文件添加对应的<context>

4.配置plugin.xml,将刚才创建的两个类配置到extensions中

<extensions defaultExtensionNs="com.intellij">
    <!-- Add your extensions here -->
    <defaultLiveTemplatesProvider implementation="TestTemplateProvider"/>
    <liveTemplateContext implementation="TestContext"/>
</extensions>

至此,插件已完成,可以编译安装到idea上使用了。

三.界面上配置live template

除了以上方法外,也可以在界面上配置或修改模板,如下图:

175326_IoZY_2526698.png

你可以直接在界面上增加模板,也可以修改。idea本身内置了一些常用的变量,

如:

$TEXT$表示创建完后,此处会变为红色框,可输入代码。

$END$表示创建模板后,光标最后停留的位置;

转载于:https://my.oschina.net/u/2526698/blog/1563965

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值