intelliJ -> 有啥方法可以将您的搜索范围限定在一个函数内

Posted

技术标签:

【中文标题】intelliJ -> 有啥方法可以将您的搜索范围限定在一个函数内【英文标题】:intelliJ -> is there any way to scope your search to be within a functionintelliJ -> 有什么方法可以将您的搜索范围限定在一个函数内 【发布时间】:2018-11-10 15:28:50 【问题描述】:

在编码时,我经常需要搜索在整个大文件中常见的关键字,但我正在寻找函数中的实例。

默认搜索功能通常会为我提供从顶部开始的所有结果。是否有任何方法/工作流程仅在特定方法/功能或代码块中进行搜索?

【问题讨论】:

搜索文本within a file时有一个选项可以搜索In selection。或者使用Find in Path(您可以选择当前文件作为范围),它的预览窗格可以快速对找到的匹配项进行眼睛过滤。 In selection 选项会在您选择文本部分然后按 Ctrl/Cmd+F 时自动启用。 @Andrey - 如果您这样做,它会尝试搜索您选择的整个文本。你能用一些截图来展示吗?也许我没有正确理解你的意思? 抱歉,看起来它只适用于替换操作以及当您选择一行或多行时:( 【参考方案1】:

看起来我们终于在 IDEA 2019.3 中获得了这个功能:

https://blog.jetbrains.com/idea/2019/09/whats-new-in-intellij-idea-2019-3-eap-2/(Ctrl-F 用于副标题“使用查找操作时在选定区域中搜索的能力”)

现在可以使用查找操作 (cmd+F / Ctrl +F) 仅在选定区域中进行搜索。只需在编辑器中选择您需要的代码片段并调用 Find 操作,IDE 将仅在所选区域中执行搜索。

文章截图(最初是 GIF)

【讨论】:

太棒了,我忘记了这个问题,但在某个时候注意到了这个功能:)【参考方案2】:

使用 IntelliJ IDEA 2018.1.4(终极版),在 Ubuntu 18.04 上构建 #IU-181.5087.20,您可以这样做(提到的键映射适用于 Linux):

让我们以下面的代码为例,我们将在方法“clear”中搜索单词key。如您所见,该词出现了很多次(红色突出显示我们想要在结果中出现的那些,蓝色突出显示其他出现,我们不想出现在搜索结果中)

1- 选择要限制搜索范围的区域

2- 按 Ctrl+Shift+强>F。它会弹出一个搜索窗口,在搜索框中预先填写选定的文本。

3- 选择选项“Scope”,并在其旁边的组合中选择“Selection”(如果默认情况下未选择)

4- 键入要搜索的字词(在本例中为 key 字词)。

5- 显示的结果将仅限于所选区域。请注意右上角只有 9 个匹配项(“匹配大小写”选项已选中),尽管在同一个文件中有许多其他相同单词的出现。


但是,我既无法找到组合键以将其作为单个操作执行,也无法分配新的组合键。另外,请注意搜索如何在方法文档中包含文本。

【讨论】:

这是一个非常详细的答案,我认为考虑到他们当前的机制,执行搜索操作的最佳方式。感谢您的努力!【参考方案3】:

有一种方法可以在方法内部进行搜索,但是,它似乎不适用于其他范围。

像往常一样在文件中搜索时,单击“查找全部”

您将在底部面板中获得结果列表。如果您启用“按文件结构分组”(我默认禁用它),您可以获得特定方法的匹配列表。

【讨论】:

谢谢...但是 uggh.. 没有键映射? :P @tsar2512 是的,这不是最方便的方法:) 不幸的是,不知道单键绑定解决方案。我看到了您对***.com/a/6211012/2807168 的评论,但在我的 IDEA 中也没有找到此功能。

以上是关于intelliJ -> 有啥方法可以将您的搜索范围限定在一个函数内的主要内容,如果未能解决你的问题,请参考以下文章

有啥工具可以合并 2 个 git repos? [复制]

让 Windows 10 将您的应用识别为默认应用选项

IntelliJ IDEA在使用的时候,有啥方便快捷的技巧吗?

准备将您的数据库迁移至Oracle Cloud

传递给解析器不是有效的 GraphQL DocumentNode。您可能需要使用“graphql-tag”或其他方法将您的操作转换为文档

IntelliJ IDEA 2022软件安装包和安装教程