首页 > 其他分享 >idea插件开发笔记——右键菜单添加自定义模板

idea插件开发笔记——右键菜单添加自定义模板

时间:2022-09-01 09:01:31浏览次数:67  
标签:mapper 插件 自定义 idea 右键 new properties 模板

  1. 再resources文件下创建fileTemplates/internal文件夹(必须是这个)

  2. 添加模板文件 mapper.tsx.ft

    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
    <mapper namespace="${NAMESPACE}" >
    </mapper>
    
  3. 创建右键菜单mapper模板创建

          //读取模板
            FileTemplate template = FileTemplateManager.getInstance(project)
                    .getInternalTemplate("mapper");
            Properties properties = new Properties();
            //替换模板里的参数
            properties.setProperty("NAMESPACE", "");
            String renderedText = "";
            try {
                renderedText += template.getText(properties);
            } catch (IOException ex) {
                throw new RuntimeException(ex);
            }
    
            PsiFile psiFile = PsiFileFactory.getInstance(project).createFileFromText("mapper.xml", XMLLanguage.INSTANCE, renderedText);
            System.out.println(psiFile.isPhysical());
            try {
                //执行写入文件
                Runnable runnable = () -> psiElement.add(psiFile);
                //调度任务
                WriteCommandAction.runWriteCommandAction(project, runnable);
            } catch (Exception exception) {
                //文件存在,会抛错;idea发送通知
                NotificationGroup notificationGroup = new NotificationGroup("testid", NotificationDisplayType.BALLOON, false);
                Notification notification = notificationGroup.createNotification("File already exists", MessageType.INFO);
                Notifications.Bus.notify(notification);
            }
    

标签:mapper,插件,自定义,idea,右键,new,properties,模板
From: https://www.cnblogs.com/Crazy-Fengzi/p/16645270.html

相关文章

  • 构建自定义镜像并优化dockerfile文件
    目录一.系统环境二.前言三.镜像构建步骤四.dockerfile文件常用指令4.1dockerfile文件常用指令4.2RUN、CMD、ENTRYPOINT的区别五.构建centos镜像5.1构建一个可以使用ifco......
  • Scala的下载与IDEA插件的安装
    Scala是ScalableLanguage的简写,是一门多范式的编程语言。安装Scala的前提条件是必修要配置好jdk环境变量,请点击:百度Step①:Scala官网:https://www.scala-lang.org/点......
  • 反应自定义钩子
    反应自定义钩子如果你正在看这篇文章,我希望你一定熟悉ReactHooks。在本文中,我们将为我们的应用程序创建一个自定义挂钩。首先,为什么我们需要在应用程序中创建自定义挂......
  • Sass 变量与 CSS 自定义属性
    Sass变量与CSS自定义属性这篇文章最初发表在我们自己的博客网站上一探究竟看到更多这样的帖子!在这篇文章中语境真正的区别不可知论方法最后的想法语境在......
  • IDEA2021.3.3插件推荐
    123456Tabnine7891011121314......
  • Python根据类中属性自定义排序的方法
    如果以创建的对象作为列表中的元素,那么对列表进行排序时可使用sort()函数或sorted()函数,但要注意的是:①当排序对象为列表的时候两者适合的场景不同②sorted()函数会返......
  • Visual Studio神级插件之CodeMaid自动整理你的代码
    介绍当我们平时coding时,代码的格式千奇百怪,不知道快捷键的同学,可能还在徒手敲敲空格或者缩进。知道快捷的同学,每次写完后,会按下快捷键,单有时还会忘记,使得阅读代码时不太......
  • 如何构建一款自定义的开源微服务架构?
    如今,竞争越来越激烈,很多企业随着业务需求变化得越来越快,急需要找到一款高效又快速的软件交付方式,以便实现办公高效化。在众多软件中,开源微服务架构有其自身的优势特点,可以......
  • Nik Collection 5 for Mac(PS滤镜插件套装)中文版
    NikCollection中文版是一款ps滤镜插件套装,其包含了七款ps插件,功能涵盖修图、调色、降噪、胶片滤镜等方面。NikCollection作为很多摄影师和摄影爱好者所熟悉的一大照片......
  • 用VUE开发页面的步骤 其实vue开发就是自定义组件,在App.vue中展示自定义的组件,打包时运
    用VUE开发页面的步骤这几天项目不是很忙,就研究了一下比较热门的vue,发现用vue开发页面其实和开发后台是一样也需要搭建开发环境,挑选ide,现总结一下开发步骤:1。搭建开发环......