【问题标题】:Intellij limit the scope of search/find to current methodIntellij 将搜索/查找的范围限制为当前方法
【发布时间】:2018-03-29 12:09:45
【问题描述】:

我知道通过单击变量名称 Intellij 突出显示引用到方法内的该局部变量。

在很多情况下,我想找到(Ctrl+F)一个字符串(变量名除外),即想到

  • log stmt 中的字符串
  • 变量名的子字符串
  • 其他方法名称的子字符串 - 从您所在的方法内部调用

我想在我正在使用的方法中限制此搜索/查找的范围。

但是,Intellij 将我带到同一个类中的另一个方法(匹配搜索字符串),我丢失了我正在处理的方法的位置。我必须执行 Back(Ctrl+Alt+Left) 才能回到我使用的方法。每天这样做 100 次是相当低效的,而且我会失去注意力。

有没有办法/intellij 操作将您的搜索/查找范围限制在您所在的方法而不是整个班级。

【问题讨论】:

    标签: java intellij-idea ide intellij-idea-2016


    【解决方案1】:

    您可以使用“在选择中查找”功能。不幸的是,这仅适用于替换,不适用于查找。使用方法如下:

    • 使用 Extend Selection 操作将您的选择扩展到整个方法
    • 调用替换 Ctrl+R(这将自动启用 in selection 复选框
    • 键入要查找的字符串

    该字符串的位置将在选择中突出显示,您可以按常规方式在出现的位置之间导航。

    【讨论】:

    • 仍然可以在“在选择中查找”的搜索范围内查找搜索词。
    【解决方案2】:

    我也有同样的问题。我找到的最接近的解决方案是使用 ctrl-shift-alt-j (选择所有出现)以漂亮的粗体颜色突出显示所选文本的所有出现。然后很容易在方法中发现字符串的其他用途。

    【讨论】:

    • 这个 hack 有一个小问题,如果您搜索的字符串用于其他方法,它将带您到匹配的最后一次出现(可能使用不同的方法)。
    • 这个建议不会带你去任何地方。它只是突出显示匹配项,以便您轻松发现它们。
    【解决方案3】:

    这是不可能的。

    但是你可以点击“全部”按钮:

    然后在左下角的“查找:”选项卡中展开您的方法(默认)。

    【讨论】:

    • 不错的 hack,但我希望 Intellij 创建一些东西来避免如此多的点击(在选项卡中导航)以通过这种方法获得您正在寻找的东西。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-05
    • 1970-01-01
    • 2018-11-10
    • 1970-01-01
    • 1970-01-01
    • 2011-02-24
    相关资源
    最近更新 更多