简介
call-this-method插件是基于idea插件JTools开发的一款插件
该插件可用于在spring-boot项目中执行spring容器bean的任意方法以及任意静态方法,会在对应方法左侧出现一个手的图标
该插件可用于在spring-boot项目中执行自定义的groovy代码
该插件可用于在存在mybatis组件的项目中基于mapper.xml中的sql脚本生成完整的sql,会在对应sql左侧出现一个手的图标
该插件拥有完善的功能,可帮助程序员大幅度提升开发以及测试效率
安装说明
第一步: 安装Jtools插件
打开idea,进入idea的插件仓库,搜索JTools进行安装,结果如下图
注意: 该插件仅支持idea2022.3以上版本
第二步: 下载call-this-method插件
1. 找到插件仓库按钮,跳转到插件仓库,如下图
如果无法访问github.com,可以下载此博客绑定的call-this-method资源,同github上版本同等
2. 下载call-this-method插件并安装
第三步: 安装call-this-method插件
1. 找到安装插件按钮
2. 点击,打开安装目录选择插件安装
3. 此插件安装需要重启idea,点击Exit,即可重启
4. 安装成功,插件列表出现如下插件
5. 拖拽方式安装
将插件拖拽到这个面板,即可安装
因为我这里已经安装过了,所以提示信息如下
特性介绍
注意,后续在线执行方法,如出现多模块公有方法,并且启动了多个项目,可以在右上角选择你想要在那个项目中执行
注意,后续在线执行脚本,启动了多个项目,可以在右上角选择你想要在那个项目中执行
特性一: 执行spring-boot项目中的任意方法
普通参数方式执行bean方法
这种方式只支持可json序列化的数据结构
脚本参数方式执行bean方法
普通参数执行静态方法
这种方式只支持可json序列化的数据结构
断点查看进入的数据
通过断点
脚本参数执行静态方法
复杂脚本参数执行(静态方法,bean方法)皆可使用
这里利用了脚本参数中的context获取spring容器中所有的bean对象名称
特性二: 执行脚本
在spring-boot容器中执行脚本
新增脚本
执行
变量说明
import org.springframework.context.ApplicationContext
//离线模式不能使用此变量
def ctx = context as ApplicationContext
log.info("info日志")
log.debug("debug日志")
log.warn("warn日志")
log.error("error日志")
log.info(ctx)
离线模式执行脚本
停止项目,或者项目未启动,既是离线模式,离线模式仅支持脚本和mybatis sql(后续会介绍)
离线模式,可用于开发者测试工具,编写工具,调试算法等功能
注意: 如项目中代码发生修改,需要重新编译项目,执行原理是获取开发者项目中的编译结果
特性三: 生成完整sql
1. 创建mapper接口和xml文件
2. 生成sql
test方法
当然,入参同样支持脚本入参,但是不支持任何变量(后续版本可能会考虑补充)
test1方法
特性四: 历史记录
打开历史记录
mybatis mapper历史记录
脚本历史记录
方法历史记录
右键菜单
特性五: 方法缓存
如果方法,mybatis sql被调用过,再次调用,会使用最后一次调用设置的参数
特性六: 方法前后置脚本
不同的作用域
注意: 修改脚本之后,需要点击右侧的保存按钮
注意: 模块脚本仅在项目启动之后才能使用
特性七: 方法和mybatis sql预览和定位
定位功能,可直接在编辑区域中打开对应的文件,并且定位到具体方法或者sql标签
预览功能
特性八: 设置功能
疑难问题解答
社区版idea启动gradle项目,插件失效问题
由于社区版idea默认使用外部gradle启动项目,导致JavaProgramPatcher这个类并不会生效,解决方法如下
进入settings,找到gradle,将Build and run using改成Intellij IDEA即可,如果企业版也有这个问题,可以参考是否使用这个设置