有没有办法在IntelliJ IDEA中用一个注释替换一个注释的所有用法?

时间:2014-11-18 23:25:18

标签: intellij-idea automated-refactoring structural-search

我们目前正在使用JCIP注释进行并发检查,并希望尝试切换到JSR 305注释以实现相同目的。我们稍后会做同样的事情来从JetBrains注释切换到JSR 305等价物,这将是一个更大的任务,因为它们被更多地使用。

我尝试了很多方法来做到这一点。

如果我使用天真文本替换进行查找和替换,则导入语句最终会出现故障。几乎在所有情况下,由于导入顺序,这会破坏代码样式。在某些情况下,IDEA似乎无法看到它们出现故障并且不会让我修复它,因此我必须手动检查所有文件,在这种情况下我不妨完成整个工作手动

我尝试了Replace Structurally,发现整个功能一如既往地无法使用。它似乎甚至无法找到注释。

我最终尝试从我正在搜索的内容中删除@并找到了注释(这有点讽刺意味着即使这个功能的目的是在结构上找到东西,当你真的试图找到一些结构时,它突然找不到任何东西。)然后用新的注释的完全限定版本替换它们,即使我告诉它缩短名称。更糟糕的是,它并没有将这些名称检测为不必要的完全限定,因此它没有为此提供自动修复,这意味着我再也无法在所有文件上自动运行它。 (它还将新注释显示为语法错误,我只能假设它是一个错误。)

我还尝试了迁移功能,添加所有旧名称和类名,并告诉它进行迁移。我发现这与Replace Structurally具有相同的效果 - 它没有放入导入,让我手动修复所有这些。

也许有另一种方法可以做到这一点?

0 个答案:

没有答案