【问题标题】:Search structurally in IntelliJ concatenated methods在 IntelliJ 连接方法中进行结构搜索
【发布时间】:2016-11-29 17:40:12
【问题描述】:

我正在尝试使用 IntelliJ (v2016.1.2) 中的结构搜索和替换功能从许多类中更改一些行(方法调用),示例如下:

this.method1(param1)
    .method2(param2, param3, param4, param5, true, "")
    .method3();

我还指出布尔变量和字符串变量的值是通过参数发送的,因为这是我在编辑变量和查找方法时遇到的问题的一部分。因此,我遇到了一些障碍:

  1. 自己找不到method2,没找到引用布尔值和字符串值的方法
  2. 找不到使用串联方法进行搜索的方法。每个方法都返回其自己的类的实例,因此我可以将它们连接起来。

这是我在堆栈溢出中的第一个问题,因此非常欢迎任何改进提问的技巧或良好做法 :)

非常感谢!

【问题讨论】:

  • 您能否详细说明您想要做什么?你想做出什么改变?搜索方法名还不够吗?如果可能的话,也许提供一个更完整的代码示例?

标签: java selenium intellij-idea replace automation


【解决方案1】:

我为这 3 行创建了一个包含方法的超类,因此我可以简单地在每个子类中调用该方法,而不是调用这 3 个方法。

我想从:

Class1Example{
    vars  param1, param2, param3, param4, param5;
    this.method1(param1)
        .method2(param2, param3, param4, param5, true, "")
        .method3();
}

到(两个班级):

Class1Example extends SuperClass{ this.mergingMethod(); }

SuperClass{
    vars  param1, param2, param3, param4, param5;

    void mergingMethod(){
        this.method1(param1)
             .method2(param2, param3, param4, param5, true, "")
             .method3();
    }
}

我想要这样做的方法是在 IntelliJ 中使用结构上的搜索和替换。也因为它的范围将是几个包。 我设法替换了这部分代码method1(param1),因为找到了该行,但是当涉及到.method2(param2, param3, param4, param5, true, "") 行或3 行本身时,搜索没有结果。我已经阅读了 IntelliJ 文档,但我做不到,而且 google 和 stackoverflow 在这件事上没有任何结果。

P.S.:很抱歉我不能在这里输入具体的代码,我希望这可以提供更好的洞察力。

【讨论】:

    猜你喜欢
    • 2010-10-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-21
    • 1970-01-01
    相关资源
    最近更新 更多