有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

特定方法中的java Eclipse搜索结果

在Eclipse File Search中,您可以搜索“包含文本”并使用“文件名模式”过滤结果。例如,如果使用文件名模式“My*.java”搜索setValue(int x),您将在名为MyGame.java的文件中找到setValue(int x)方法,但在名为YourGame.java的文件中找不到。现在,我需要一种方法来过滤搜索,以便只显示特定方法中的结果。例如,如果我有10个类重写同一超类的init()方法和reset()方法。在init()reset()内调用setValue(int x)。现在我想搜索所有出现的setValue(int x),但只在init()方法中搜索。有办法做到这一点吗?或者Eclipse有这样的方法吗? 谢谢


共 (1) 个答案

  1. # 1 楼答案

    我找到了一个或多或少有用的表达方式:

    (?s)methodname.*(?-s)set.*parma1, param2
    

    让我解释一下:

    • “那个”(点)代表除“\n”(换行符)以外的1个字符
    • “*”(星号)表示前面的字符可以出现0-n次,因此n*与“nnn”、“n”以及“n”匹配。与“”结合使用(点)它匹配任何字符的0-n次出现,但“\n”除外
    • (?s)修改“”的函数(点),以便它也接受“\n”
    • (-s)关闭(?s),以便“.”(点)不再接受“\n”

    因此,此表达式搜索“methodname”,后跟0-n个字符(也称“\n”),后跟“set”,后跟0-n个字符(不带“\n”),后跟“param1,param2”。 它有可能在“methodname”方法之外找到methodcall,但我认为您无法控制它。 希望能有帮助