Java 如何向每个类和每个类的每个构造函数/方法添加@Deprecated?

Java 如何向每个类和每个类的每个构造函数/方法添加@Deprecated?,java,intellij-idea,structural-search,Java,Intellij Idea,Structural Search,我有一些遗留代码,我想标记所有这些代码和它们的所有方法@Deprecated,这样当我们去触摸它们时,我们就可以删除这些注释,这样我们就可以跟踪哪些已经现代化,哪些仍然不好 我试图使用结构搜索/替换,但似乎无法获得正确的模板 搜索模板 替换模板 但这会删除类中的所有其他内容。 这将去除所有与其匹配的类的所有可见性修改器和最终修改器 我如何替换这些东西,而不去处理其余的代码?不幸的是,我无法测试这一点,因为我没有合适的IntelliJ版本。但是,正如我发现的,可以为类内容使用变量 搜索模板:

我有一些遗留代码,我想标记所有这些代码和它们的所有方法
@Deprecated
,这样当我们去触摸它们时,我们就可以删除这些注释,这样我们就可以跟踪哪些已经现代化,哪些仍然不好

我试图使用
结构搜索/替换
,但似乎无法获得正确的模板

搜索模板 替换模板 但这会删除类中的所有其他内容。 这将去除所有与其匹配的类的所有可见性修改器和最终修改器


我如何替换这些东西,而不去处理其余的代码?不幸的是,我无法测试这一点,因为我没有合适的IntelliJ版本。但是,正如我发现的,可以为类内容使用变量

搜索模板:

    class $Class$ {
       $MyClassContent$
    }
    @Deprecated
    class $Class$ {
       $MyClassContent$
    }
替换模板:

    class $Class$ {
       $MyClassContent$
    }
    @Deprecated
    class $Class$ {
       $MyClassContent$
    }
MyClassContent
变量的最小和最大出现次数应分别设置为
0
Integer.MAX_值。这将留给您带注释的类


现在,我想你也可以用方法模板做同样的事情。我不知道的是,是否可以将方法模板应用于源代码中的所有方法。这样,您应该能够执行两步搜索和替换:首先是类,然后是方法。

向所有包添加
包信息.java
类可能更容易,并将
声明注释为
@Deprecated
。他正在询问如何使用IntelliJ执行此操作,尽管这仅从标记中可见。学习像vim这样的多模块java搜索和替换任务的编辑器并不是一种非常明智的时间使用方式…不仅仅是将
@Deprecated
添加到顶级
类$ClassName
语句标记类中的所有内容?正则表达式搜索和替换在这些情况下不起作用,这就是为什么Structural search and replaces Exists标记不推荐的类仅标记该类,除非方法也有注释,否则不会显示为不推荐的。这只是部分解决方案。这只是类,如果可能的话,我想一次完成所有的方法。它也不适用于任何非包级别的类或标记为
final
的类。
    @Deprecated
    class $Class$ {
       $MyClassContent$
    }