用 IntelliJ IDEA 的 Structural replace 替换注解参数之一
Replace one of annotation parameters with IntelliJ IDEA's Structural replace
我有很多 类 带有 Spring @ContextConfiguration
注释。注解有classes
参数,可以是数组
现在我的大部分 类 看起来像这样:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = {
ThisShellBeTwoClassesInContextHierarchyConfig.class,
SomeTest.SomeTestConfig.class,
WhateverConfig.class
})
@Transactional
public class SomeTest { ...
一些神奇的批处理操作的预期输出如下:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextHierarchy(classes = {
@ContextConfiguration(classes = { ConfigA.class }),
@ContextConfiguration(classes = { ConfigB.class }),
@ContextConfiguration(classes = {
SomeTest.SomeTestConfig.class,
WhateverConfig.class
})
})
@Transactional
public class SomeTest { ...
到目前为止,我什至无法让 IntelliJ IDEA Structural 替换工具使用 classes
参数查找注释,更不用说替换它了。
甚至像这样简化的结构
@$Annotation$($param$ = { $ctx$ })
没有找到任何东西。 ctx
的出现次数设置为无限制。
我应该如何正确使用注释参数?
似乎因为 a bug 无法匹配注释名称-值对中的数组 (ElementValueArrayInitializer)。您可以使用如下查询匹配您想要的注释:
@$Annotation$($param$ = $value$)
但这可能不是很有帮助。
我有很多 类 带有 Spring @ContextConfiguration
注释。注解有classes
参数,可以是数组
现在我的大部分 类 看起来像这样:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = {
ThisShellBeTwoClassesInContextHierarchyConfig.class,
SomeTest.SomeTestConfig.class,
WhateverConfig.class
})
@Transactional
public class SomeTest { ...
一些神奇的批处理操作的预期输出如下:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextHierarchy(classes = {
@ContextConfiguration(classes = { ConfigA.class }),
@ContextConfiguration(classes = { ConfigB.class }),
@ContextConfiguration(classes = {
SomeTest.SomeTestConfig.class,
WhateverConfig.class
})
})
@Transactional
public class SomeTest { ...
到目前为止,我什至无法让 IntelliJ IDEA Structural 替换工具使用 classes
参数查找注释,更不用说替换它了。
甚至像这样简化的结构
@$Annotation$($param$ = { $ctx$ })
没有找到任何东西。 ctx
的出现次数设置为无限制。
我应该如何正确使用注释参数?
似乎因为 a bug 无法匹配注释名称-值对中的数组 (ElementValueArrayInitializer)。您可以使用如下查询匹配您想要的注释:
@$Annotation$($param$ = $value$)
但这可能不是很有帮助。