注:创建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 public void $TEXT$Test() { $END$ }" 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
除了以上方法外,也可以在界面上配置或修改模板,如下图:
你可以直接在界面上增加模板,也可以修改。idea本身内置了一些常用的变量,
如:
$TEXT$表示创建完后,此处会变为红色框,可输入代码。
$END$表示创建模板后,光标最后停留的位置;