intellij-idea - 我可以在 Intellij 结构搜索中使用过滤器来引用变量计数吗?
问题描述
我正在尝试使用结构搜索在 IntelliJ 中创建自定义检查。这个想法是找到所有具有一个或多个参数的方法,其中至少一个没有注释。奖励:仅命中非原始类型的参数。
到目前为止,我已经创建了以下搜索模板:
$MethodType$ $Method$(@$ParamAnnotation$ $ParameterType$ $Parameter$);
使用这些过滤器和搜索目标“完全匹配”:
$Parameters$: count[1,∞]
$ParamAnnotation$: count[0,0]
但是,这只会命中没有任何参数注释的方法。我希望它也匹配只有一些参数有注释而其他参数没有的方法。
是否可以在另一个过滤器中引用一个变量的计数,例如通过使用脚本过滤器?如果是这样,怎么做?
解决方案
您可以通过创建这样的搜索模板来做到这一点:
$MethodType$ $Method$($TypeBefore$ $before$,
@$ParamAnnotation$ $ParameterType$ $Parameter$,
$TypeAfter$ $after$);
过滤器:
$Parameters$: count=[1,1] // i.e. no filter
$ParamAnnotation$: count=[0,0]
$before$: count=[0,∞]
$after$: count=[0,∞]
这将找到所有具有至少一个参数且没有注释的方法。
推荐阅读
- angular - Angular 中的共享延迟加载组件
- javascript - Javascript:未捕获的类型错误:无法读取未定义的属性“addEventListener”
- r - 如何累积readr::read_lines_chunked的结果?
- encoding - 压缩,使用无效数据表示棋盘状态
- c# - 加载和解析存储在文件中的 HTTP 响应
- typescript - Query中的数据关系
- xamarin - Dropbox 无法使用 Xamarin.Forms 进行身份验证
- c++11 - ZMQ Xpub/Xsub 不发送订阅消息
- elasticsearch - 如果搜索查询包含弹性中的某个术语/文本,如何提升某些文档
- jenkins - jenkins job dsl - 某种方式进行试运行?