java - 创建具有 IDE 上下文行为的 Java 注解

标签 java android eclipse annotations suppress-warnings

我创建了一个注解

/**
 * Highlights this method is declared in XML
 */
public @interface FromXML {
}

我在看起来像这样的方法上使用它:

@FromXML
public void onSomethingClick(View v){

}

Android 反射系统需要v 变量来调用此方法。 然而,输入变量 v 未被使用,所以我的 IDE 警告我这一点。 我喜欢这个警告,并希望在我的其余代码中使用它

enter image description here

要隐藏我可以做的警告

@SuppressWarnings("unused")
@FromXML
public void onSomethingClick(View v){

}

或者我可以添加一个参数标签

但我宁愿 IDE (eclipse) 读取我的 @FromXML 注释并且不给我警告。

我知道you can't extend an Annotation ,但这基本上就是我想做的。

有没有一种方法可以添加我的注释以被识别为 ' suppress warnings ' 注释。

有没有办法将我的注释编码为“表现得像”抑制警告?

最佳答案

您始终可以创建一个Eclipse 插件,它将扫描源代码并在您的案例中找到这些注释@FromXML 并在您的案例中添加一个额外的注释@SuppressWarnings

您可以为它创建一个命令,当该命令被触发时您将运行该插件。

Creating Eclipse Plugin

希望这对您有所帮助。

更新 - 这是侥幸无法使用这个(试过):

或者使用 AspectJ 移除警告 Adding warnings in Eclipse using AspectJ

如果开发人员在代码中使用 System.out.println(),本教程使用 AspectJ 向 eclipse 添加警告。因此,当存在注释时,可以执行相反的操作以删除警告

更新 2:Eclipse 中有一种方法可以创建自定义注释处理器或编辑 bundle 注释处理器(生成未使用变量警告)。因此必须以自定义方式调整该处理器。

一些很棒的链接:

Tutorials for Eclipse Annotation processor development

Java Development Tools - Annotation Processing Tools

关于java - 创建具有 IDE 上下文行为的 Java 注解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13563820/

相关文章:

android - 在android中制作自定义组件

java - 无法查看 android 计算器的完整方程式

Java Eclipse Swing 设计

java - 将一个包 move 到另一个包并更新字符串引用?

android - 将布局组件设置为居中

android - 无法禁用长按 editText

java - 使用 Eclipse 启动 JSF 项目

java - 如何在 Java EE 和 Spring Boot 中热重载属性?

java - 转储 H2 插入语句

java - 根据java 8中的同名条件将所有 HashMap 放在一起