Intellij Idea intelliJ ->有没有办法将搜索范围限定在函数内

ndasle7k  于 2023-01-01  发布在  其他
关注(0)|答案(4)|浏览(240)

在编写代码时,我经常需要搜索在整个大文件中常见的关键字,但我在查找函数中的示例。
默认的搜索功能通常会从顶部开始搜索所有结果。有什么方法/工作流可以只在特定的方法/函数或代码块中搜索吗?

shstlldc

shstlldc1#

    • 更新**
  • 执行Ctrl + F
  • 然后Ctrl + Alt + E
  • 键入要搜索的文本

在MacOS上,它是cmd而不是Ctrl

    • 原员额**

你可以这样做(提到的键Map是针对Linux的):
让我们以下面的代码为例,我们将在方法"clear"中搜索单词 "key"。正如您所看到的,该单词出现了很多次(红色表示我们希望在结果中突出显示的单词,蓝色表示我们不希望出现在搜索结果中的其他单词)

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

2-按Ctrl*+Shift+**F,将弹出一个搜索窗口,在搜索框中预先填写所选文本。
3-选择选项"范围",并在其旁边的组合框中选择"选择"(如果默认情况下未选择)

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

5-显示的结果将仅限于所选区域。请注意,尽管在同一个文件中有许多相同的单词出现,但右上角只有9个匹配(选中了 "区分大小写" 选项)。
然而,我既不能找到一个组合键来作为一个单独的动作来完成这个操作,也不能分配一个新的组合键。另外,请注意搜索是如何包括方法文档中的文本的。
在Ubuntu 18.04上使用IntelliJ IDEA 2018.1.4(终极版)(构建版本号IU-181.5087.20)进行测试

qv7cva1a

qv7cva1a2#

看来我们终于在IDEA 2019.3中获得了这一功能:
https://blog.jetbrains.com/idea/2019/09/whats-new-in-intellij-idea-2019-3-eap-2/(Ctrl-F用于副标题“使用查找操作时在选定区域中搜索的能力”)
现在可以使用Find操作(cmd+F / Ctrl +F)仅在选定区域中搜索。只需在编辑器中选择所需的代码段并调用Find操作,IDE将仅在选定区域中执行搜索。
文章截图(原为GIF)

72qzrwbm

72qzrwbm3#

有一种方法可以在方法内部进行搜索,但是,它似乎不适用于其他作用域。
在文件中照常搜索时,单击“查找全部”

你会在底部面板中得到一个结果列表,如果你启用了“Group by file structure”(我在默认情况下禁用了它),你可以得到一个特定方法的匹配列表。

hgncfbus

hgncfbus4#

在Mac中的IntelliJ上:
1.在一个文件中,选择我们要查找的特定块
1.按下CMD + F
1.按CTRL +选项+ G
1.请注意,光标已自动停留在查找工具栏的文本字段中
1.键入要查找的内容
1.按Enter键将光标移动到第一个匹配项。

相关问题