想写个Spring的第三方库,想做个AOP拦截, 但是IDEA不支持SpEL表达式提示, 即便是用了@Language
注解, 也不支持方法参数提示怎么办?
别慌, 现在可以使用SpEL Assistant
插件来完成这个功能啦
SpEL Assistant
插件支持方法参数提示, 函数返回值提示, 自定义字段, root
字段配置等等功能
支持java
和kotlin
来看看怎么用吧
安装插件
IDEA应用商店直接下载安装, 某些版本安装后需要重启IDEA
使用
-
在resources目录下新建
spel-extension.json
配置文件 -
将注解类名和注解方法名用
@
符号连接起来(有提示的哦) -
配置自己需要的字段, 以及该注解支持的内容
-
然后就支持代码提示啦
附: 问题反馈
配置详解
{
// 注解声明, 格式为`注解类@字段`
"kim.nzxy.demo.DemoAop@value": {
// 模板前缀, 为null和空字符串表示非模板, 默认为空
"prefix": "#{",
// 模板后缀, 为null和空字符串表示非模板, 默认为空
"suffix": "}",
// 对方法的扩展, 默认值如示例
"method": {
// 作用于方法上时, 支持方法返回值提示
"result": false,
// 方法返回值的SpEL变量名
"resultName": "result",
// 作用于方法上时, 支持方法参数提示
"parameters": false,
// 方法参数别名配置, 支持多个别名前缀, 如 [p0, a1, p2]分表表示第一个, 第二个, 第三个参数, 可空
"parametersPrefix": [
"p",
"a"
]
},
// 自定义字段, 默认为空
"fields": {
// 自定义变量以及类型, 支持非限定类名, 如String, Integer等, 否则需提供全限定类名
"demo": "java.util.Map<String, String>",
// 如果变量名为root, 则表示rootObject(可以直接)
"root": "kim.nzxy.demo.DemoRoot"
}
}
}