如何在Eclipse中查找和删除类中所有出现的函数?

时间:2013-01-16 07:35:08

标签: java eclipse

我一直在重写一个代码库,我一直在努力锻炼在Eclipse中我可以删除所有出现的函数以及它可能有的任何参数/参数。

我不是在使用聪明的正则表达式解决方案或类似的东西,我确信它的功能将在Eclipse中,只是不确定在哪里?:)

非常感谢

只是为了澄清:

这是一个例子......

函数的类myFoo不再存在。因为它在与我一起到达之前被错误地重构了。因此,我想搜索代码库(通过eclipse工具)并从myFoo类中删除任何使用foo(String string)方法的行。

7 个答案:

答案 0 :(得分:1)

Hilight the object(方法或变量),然后选择菜单“Search / Refrences”或“Search / Declarations”。手动执行更改,一次一个,以便您可以查看每个更改。由于很有可能出现意外后果,我绝不会使用脚本进行广泛的代码更改。

答案 1 :(得分:0)

我使用编辑菜单中的替换

replace='function name' to '// TODO:'

这会在排水沟上突出显示它们。选择该行并按 Ctrl + D 删除该行。

答案 2 :(得分:0)

可以选择删除函数本体,然后通过Refactor->Inline内联它?

如果需要,您当然可以保存函数的代码并在之后再次插入。

答案 3 :(得分:0)

我不知道JDT中的这种功能。但这是一个可以使用的自动化解决方案:

使用MoDisco,您可以创建Java项目的模型。然后,您可以使用ATL精炼转换来删除该模型中该方法的所有调用。如果要替换功能,甚至可以用其他表达式替换调用。

如果您的代码库足够大,可能需要仔细查看这些eclipse项目。

答案 4 :(得分:0)

只需在方法名称的开头/中间/结尾键入一个'MUST_BE_DELETED'或类似名称(不要使用重命名功能),然后eclipse会突出显示在问题窗口中调用它的所有地方。解决了所有问题后,您可以删除该方法。

如果您在jsp页面中有代码,则必须手动搜索这些代码。

答案 5 :(得分:0)

这就是我以前做的事情:

将光标放在方法名称上,然后按Control + Shift + g(在Windows中),或者您可以执行搜索 - >参考 - >工作区。

这将在工作区中搜索对此方法的所有引用,并手动删除引用


(复制自我的评论)

如果你坚持自动完成“删除”,还有另一种解决方法(可能并不总是有效,取决于具体情况):

  • 让你的方法体空了,
  • 然后使用Refactor - >内联(您甚至可以选择删除方法声明)

但我相信在某些情况下这种方法无效。值得一试,看看它是否适用于您的案例

答案 6 :(得分:-2)

使用ctrl + F快捷键打开查找/替换对话框。然后在“查找”文本框的空格前写下您的方法名称。不要在“替换为”文本框中写入任何内容。 然后按“全部替换”按钮。

这是最捷径的方法。 享受:)