如何在 IntelliJ 中找到功能接口候选者
How to find functional interface candidates in IntelliJ
我正在尝试使用结构搜索来查找可以用 @FunctionalInterface
注释的接口,因为它们只包含一个抽象方法但尚未注释。
我当前的结构搜索模板如下所示:
@$TheAnnotation$
interface $Interface$ {
$ReturnType$ $Method$ ($ParameterType$ $Parameter$);
}
我添加了以下过滤器
- 参数:计数 ->
[0, ∞]
- TheAnnotation:脚本 ->
TheAnnotation.getClass() != FunctionalInterface.class
但这似乎不起作用,因为结果将包含 类,但带有 @FunctionalInterface 注释。
IntelliJ IDEA 有一个“Interface may be annotated @FunctionalInterface”检查,你可能想改用。它有一个添加 @FunctionalInteface
注释的快速修复。
但如果您坚持使用结构搜索,这里有一个应该有效的模板:
<searchConfiguration name="Unnamed" text="@$TheAnnotation$ interface $Interface$ { abstract $ReturnType$ $Method$ ($ParameterType$ $Parameter$); abstract $ReturnType2$ $Method2$ ($ParameterType2$ $Parameter2$); }" recursive="false" caseInsensitive="false" type="JAVA" pattern_context="default">
<constraint name="__context__" within="" contains="" />
<constraint name="TheAnnotation" regexp="FunctionalInterface" minCount="0" maxCount="0" within="" contains="" />
<constraint name="Method" within="" contains="" />
<constraint name="Interface" within="" contains="" />
<constraint name="ReturnType" within="" contains="" />
<constraint name="ReturnType2" within="" contains="" />
<constraint name="ParameterType" within="" contains="" />
<constraint name="ParameterType2" within="" contains="" />
<constraint name="Parameter" minCount="0" maxCount="2147483647" within="" contains="" />
<constraint name="Parameter2" minCount="0" maxCount="2147483647" within="" contains="" />
<constraint name="Method2" minCount="0" maxCount="0" within="" contains="" />
</searchConfiguration>
(复制 xml 并使用“结构搜索”对话框中工具按钮下的“从剪贴板导入模板”操作)
我正在尝试使用结构搜索来查找可以用 @FunctionalInterface
注释的接口,因为它们只包含一个抽象方法但尚未注释。
我当前的结构搜索模板如下所示:
@$TheAnnotation$
interface $Interface$ {
$ReturnType$ $Method$ ($ParameterType$ $Parameter$);
}
我添加了以下过滤器
- 参数:计数 ->
[0, ∞]
- TheAnnotation:脚本 ->
TheAnnotation.getClass() != FunctionalInterface.class
但这似乎不起作用,因为结果将包含 类,但带有 @FunctionalInterface 注释。
IntelliJ IDEA 有一个“Interface may be annotated @FunctionalInterface”检查,你可能想改用。它有一个添加 @FunctionalInteface
注释的快速修复。
但如果您坚持使用结构搜索,这里有一个应该有效的模板:
<searchConfiguration name="Unnamed" text="@$TheAnnotation$ interface $Interface$ { abstract $ReturnType$ $Method$ ($ParameterType$ $Parameter$); abstract $ReturnType2$ $Method2$ ($ParameterType2$ $Parameter2$); }" recursive="false" caseInsensitive="false" type="JAVA" pattern_context="default">
<constraint name="__context__" within="" contains="" />
<constraint name="TheAnnotation" regexp="FunctionalInterface" minCount="0" maxCount="0" within="" contains="" />
<constraint name="Method" within="" contains="" />
<constraint name="Interface" within="" contains="" />
<constraint name="ReturnType" within="" contains="" />
<constraint name="ReturnType2" within="" contains="" />
<constraint name="ParameterType" within="" contains="" />
<constraint name="ParameterType2" within="" contains="" />
<constraint name="Parameter" minCount="0" maxCount="2147483647" within="" contains="" />
<constraint name="Parameter2" minCount="0" maxCount="2147483647" within="" contains="" />
<constraint name="Method2" minCount="0" maxCount="0" within="" contains="" />
</searchConfiguration>
(复制 xml 并使用“结构搜索”对话框中工具按钮下的“从剪贴板导入模板”操作)