例如:我要找到/user/add 对应的controller,那么只要Ctrl+斜杠
在 IDEA 打开想研究的类,编译该类或者直接编译整个项目( 如果想研究的类在 jar 包中,此步可略过)
打开“view” 菜单,选择“Show Bytecode With jclasslib” 选项。
选择上述菜单项后 IDEA 中会弹出 jclasslib 工具窗口。
调用一个函数,使用 Alt+Enter 组合键,调出 “Auto fill call parameters” 自动使用该函数定义的参数名填充。
这个插件不仅可以反编译,还可以打开 tar.gz,zip 等压缩文件
这个插件的优点在于不需要手动快捷键去格式化代码
MybatisX 高效操作Mybatis插件
追求代码规范的话,可以安装这个插件,它会提醒你注意无用导入、注释、语法错误❎、代码冗余等等
几种风格的命名方式,用快捷键 ⇧ + ⌥ + U / Shift + Alt + U可以进行快速转换,当我们需要修改大量变量名称的时候很方便
- 切换样式(camelCase, hyphen-lowercase, HYPHEN-UPPERCASE, snake_case, SCREAMING_SNAKE_CASE, dot.case, words lowercase, Words Capitalized, PascalCase)
- 转换为SCREAMING_SNAKE_CASE (或转换为camelCase)
- 转换为 snake_case (或转换为camelCase)
- 转换为dot.case (或转换为camelCase)
- 转换为hyphen-case (或转换为camelCase)
- 转换为hyphen-case (或转换为snake_case)
- 转换为camelCase (或转换为Words)
- 转换为camelCase (或转换为lowercase words)
- 转换为PascalCase (或转换为camelCase)
- 选定文本大写
- 样式反转
当项目比较小的时候,还比较依靠IEDA的【Diagrams】查看依赖关系,当项目比较大依赖比较多后就比较难找了,这时候就需要一款IDEA插件实现快速解决依赖冲突了。
IDEA Maven Helper插件使用方法
Conflicts(查看冲突)
All Dependencies as List(列表形式查看所有依赖)
All Dependencies as Tree(树形式查看所有依赖)
2、IEDA使用Maven命令查看依赖冲突方法
①:想要查看maven的依赖树的时候使用Maven命令来查看依赖:
②:查看是否有依赖冲突也可以使用Maven命令来查看:
===========================================================
二、配置gradle
最新版的插件开发使用的是kts的gradle插件。基本用法是一样的,不同的是写法有稍微一点不一样。
依赖
将依赖打进jar包中(不打进去,插件如果有用到依赖,就会无法使用,找不到类)
将仓库改为阿里云仓库
三、创建第一个action
四、将action配置到plugin中
src -> main -> resource -> META-INF -> plugin.xml
六、本地运行
选择runIde,就可以本地运行。该命令支持debug运行,debug可以打断点。
运行该命令,会启动一个新的idea,该idea中已经安装了你开发的插件。在该idea中可以直接使用插件,使用过程中,可以在项目里面断点跟进。
新的idea和正常idea操作是一样的,可以打开一个测试code,来测试你的插件是否正常运行。
①、基本HTTP请求
②、结果预览
③、手动触发SpringBoot中的定时器
④、反射调用
试想一下这个场景
- Controller返回的信息不需要用户信息,也就是一些全局的数据
- 但是Controller需要用户登录后才能使用,即需要附带Token
- 项目具有拦截器,会拦截没有登录的用户
⑤、强大的前后置脚本
最方便的莫过于Cool Request提供了java的前后置脚本了,也算不上脚本了,习惯这么叫,而其他插件要不就是没有,要不就是提供的JS脚本,对不熟悉JS的人来说,增加了学习成本,而Cool Request就非常方便了,另外在编写代码时,是有语法提示的,例如在脚本中修改参数的api,也不需要过多的学习,几乎是0成本。
但是也有一个小缺点,内置的编译器是java8的,也就是说,项目使用的java版本超过8,或者是第三方库的版本超过java8,就无法调用了,比如项目使用了SpringBoot3,就无法调用,但是都可以在脚本中自己实现。
在一些动态参数时候,非常有用,比如参数的签名值,是通过一些参数计算出来的,或者是动态时间。
⑥、支持多种请求体
⑦、快速导入cURL参数
⑧、导出到Apifox
⑨、全局搜索API
⑩、静态资源服务器