我创建了一个注解
/**
* Highlights this method is declared in XML
*/
public @interface FromXML {
}
我在看起来像这样的方法上使用它:
@FromXML
public void onSomethingClick(View v){
}
Android 反射系统需要v
变量来调用此方法。
然而,输入变量 v
未被使用,所以我的 IDE 警告我这一点。 我喜欢这个警告,并希望在我的其余代码中使用它。
要隐藏我可以做的警告
@SuppressWarnings("unused")
@FromXML
public void onSomethingClick(View v){
}
或者我可以添加一个参数标签
但我宁愿 IDE (eclipse) 读取我的 @FromXML
注释并且不给我警告。
我知道you can't extend an Annotation ,但这基本上就是我想做的。
有没有一种方法可以添加我的注释以被识别为 ' suppress warnings ' 注释。
或
有没有办法将我的注释编码为“表现得像”抑制警告?
最佳答案
您始终可以创建一个Eclipse 插件,它将扫描源代码并在您的案例中找到这些注释@FromXML
并在您的案例中添加一个额外的注释@SuppressWarnings
。
您可以为它创建一个命令,当该命令被触发时您将运行该插件。
希望这对您有所帮助。
更新 - 这是侥幸无法使用这个(试过):
或者使用 AspectJ 移除警告 Adding warnings in Eclipse using AspectJ
如果开发人员在代码中使用 System.out.println()
,本教程使用 AspectJ 向 eclipse 添加警告。因此,当存在注释时,可以执行相反的操作以删除警告。
更新 2:Eclipse 中有一种方法可以创建自定义注释处理器或编辑 bundle 注释处理器(生成未使用变量警告)。因此必须以自定义方式调整该处理器。
一些很棒的链接:
关于java - 创建具有 IDE 上下文行为的 Java 注解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13563820/