Java 如何在Eclipse中查找和删除类中函数的所有实例?

Java 如何在Eclipse中查找和删除类中函数的所有实例?,java,eclipse,Java,Eclipse,我一直在重写一个代码库,我一直在尝试在Eclipse中删除函数的所有引用及其可能包含的任何参数/参数 我不是在寻找聪明的正则表达式解决方案或类似的东西,我确信功能将在Eclipse中,只是不确定在哪里: 非常感谢 我想澄清一下: 这里有一个例子 函数的类myFoo不再存在。因为在我到达之前,它已经被错误地重构了。因此,我希望通过eclipse工具搜索代码库,并从myFoo类中删除任何使用fooString方法的行 i点亮对象方法或变量,然后选择菜单“搜索/引用”或“搜索/声明”。手动执行更改,一

我一直在重写一个代码库,我一直在尝试在Eclipse中删除函数的所有引用及其可能包含的任何参数/参数

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

非常感谢

我想澄清一下:

这里有一个例子


函数的类myFoo不再存在。因为在我到达之前,它已经被错误地重构了。因此,我希望通过eclipse工具搜索代码库,并从myFoo类中删除任何使用fooString方法的行

i点亮对象方法或变量,然后选择菜单“搜索/引用”或“搜索/声明”。手动执行更改,一次一个,这样您就可以查看每个更改。我永远不会用脚本进行广泛的代码更改,因为很可能会产生意外后果。

点亮对象方法或变量,然后选择菜单“搜索/引用”或“搜索/声明”。手动执行更改,一次一个,这样您就可以查看每个更改。我永远不会用脚本进行广泛的代码更改,因为很可能会出现意外后果。

我会使用“编辑”菜单中的“替换”

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

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

我将使用“编辑”菜单中的“替换”

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

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

可以选择删除函数本身的主体,然后通过重构->内联来内联它


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

可以选择删除函数本身的主体,然后通过重构->内联将其内联


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

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

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


如果您的代码库足够大,那么仔细查看这些eclipse项目可能是个好主意。

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

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


如果您的代码库足够大,仔细查看这些eclipse项目可能是个好主意。

只需在方法名称的开头/中间/结尾键入“必须删除”或类似的内容,不要使用重命名函数,然后eclipse将在“问题”窗口中突出显示调用它的所有位置。当你解决了所有的问题,你可以去删除该方法


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

只需在方法名称的开头/中间/结尾键入“必须删除”或类似内容,不要使用重命名功能,然后eclipse将在问题窗口中突出显示调用它的所有位置。当你解决了所有的问题,你可以去删除该方法


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

我以前就是这样做的:

将光标放在方法名称上,在Windows中按Control+Shift+g,或者执行搜索->引用->工作区

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

抄袭自我的评论

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

将方法主体设置为空, 然后使用重构->内联,您甚至可以选择删除方法声明
但我相信,在某些情况下,这种方法是行不通的。值得一试,看看它是否适用于您的案例

我以前就是这么做的:

将光标放在方法名称上,在Windows中按Control+Shift+g,或者执行搜索->引用->工作区

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

抄袭自我的评论

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

将方法主体设置为空, 然后使用重构->内联,您甚至可以选择删除方法声明 但我相信在某些情况下,这种方法是行不通的
ng。值得一试,看看它是否适用于您的案例

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

这是最快捷的方法。
享受:

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

这是最快捷的方法。

享受:

另一种搜索方法是右键单击“方法名称”>“打开调用”层次结构;另一种搜索方法是右键单击“方法名称”>“打开调用”层次结构。对于基于散乱函数的大型代码,eclipse不会再强调错误吗?想想看,没有其他方法可以自动完成这项工作。对于一个散落着不存在的函数的大型代码来说,这将花费太长的时间。eclipse没有突出显示错误吗?我想没有其他自动删除的方法了。这不是我想要的,我想自动查找并删除它们。我不相信有任何自动删除功能。这根本行不通。例如,如果要删除int-foo方法,并且有人将其称为barfoo;,在这种情况下,您怎么能期望Eclipse能够正确地删除foo的用法呢?另一种解决方法可能并不总是有效的,取决于情况是将方法体变为空,然后使用Refactor->Inline,您甚至可以选择删除方法声明,但我相信有些情况下这种方法不起作用。值得一试,看看它是否适用于您的情况无论如何,函数类myFoo不再存在。因为在我到达之前,它已经被错误地重构了。因此,我希望通过eclipse工具搜索代码库,并从myFoo类中删除任何使用foo方法的行。谢谢你的建议,那么,除了文本搜索,或者逐个访问每个错误之外,你别无选择。正则表达式可能会有所帮助,问题在于括号匹配逻辑。因此,我认为在使用正则表达式进行括号/括号匹配方面有很多类似的讨论。但是,我会说,对于您的情况,只需逐个访问每个错误并修复它可能更容易。这并不是我要问的,我想自动查找并删除它们。我不相信有任何自动删除功能。这根本行不通。例如,如果要删除int-foo方法,并且有人将其称为barfoo;,在这种情况下,您怎么能期望Eclipse能够正确地删除foo的用法呢?另一种解决方法可能并不总是有效的,取决于情况是将方法体变为空,然后使用Refactor->Inline,您甚至可以选择删除方法声明,但我相信有些情况下这种方法不起作用。值得一试,看看它是否适用于您的情况无论如何,函数类myFoo不再存在。因为在我到达之前,它已经被错误地重构了。因此,我希望通过eclipse工具搜索代码库,并从myFoo类中删除任何使用foo方法的行。谢谢你的建议,那么,除了文本搜索,或者逐个访问每个错误之外,你别无选择。正则表达式可能会有所帮助,问题在于括号匹配逻辑。因此,我认为在使用正则表达式进行括号/括号匹配方面有很多类似的讨论。但是,我会说,对于您的情况,只需逐个访问每个错误并修复它可能会更容易。谢谢,可以很容易地用regex替换它,但是我希望/假设有一个很好的简单GUI来删除失效的函数。谢谢,可以很容易地用regex替换它,但是我希望/假设有一个很好的简单GUI来删除失效的函数。