如何从 PhpStorm 全局搜索中排除文件 (Ctrl+Shift+F)

Posted

技术标签:

【中文标题】如何从 PhpStorm 全局搜索中排除文件 (Ctrl+Shift+F)【英文标题】:How to exclude file from PhpStorm global search (Ctrl+Shift+F) 【发布时间】:2016-04-18 18:09:19 【问题描述】:

我想从 phpStorm 全局搜索 (Ctrl+Shift+F) 中排除一个文件,但不从项目本身中排除该文件。一个很好的用例是避免在像 jQuery.js 这样的文件中进行搜索,但在我的特殊情况下,我有一个生成代码的插件,它会弄乱我的搜索结果。

具体来说,这是示例搜索结果:

第一个结果是无用的,并且永远对我有用。所以我想从结果中排除它。但是,如果我将其从项目中排除,那么它将不会包含在 PhpStorm 的自动完成功能中,这首先是该文件的唯一目的。

或者有什么替代方法吗?我可以选择一个文件夹并只在那里搜索,但它不如直接从编辑器中按 Ctrl+Shift+F 方便

【问题讨论】:

【参考方案1】:

你可以定义scope

首先,您必须定义一个范围,其中包含您希望“可搜索”的项目的所有目录。

转到Appereance & Behaviour -> Scopes 并创建范围

然后,在“查找路径”窗口中,您可以选择要用于搜索的自定义范围

【讨论】:

哦,这很好!起初我以为我以前尝试过这个解决方案,但我一步一步地遵循它,这正是我想要的。谢谢:--)【参考方案2】:

右键单击文件夹>将目录标记为>排除

【讨论】:

不幸的是,该文件位于我项目的根文件夹中,因此我必须为此排除整个项目:p 适用于目录但不适用于文件。可以通过将文件标记为纯文本来将文件从代码完成中排除,但它们仍会包含在全局搜索中。【参考方案3】:

当您按 Ctrl+Shift+F 时,有一个范围选项,您可以在其中指定要搜索的文件。

【讨论】:

“自定义:”选择框中的非预定义选项对我有帮助,看来我要排除的文件是项目的一部分,我无法排除它。也许如果该框中的 VCS 过滤器包含在所有版本控制文件(而不仅仅是更改的文件)中搜索的选项,我可以 .gitignore 不需要的文件,这就足够了。但是没有选项存在。 我也在尝试“文件掩码”框,但我还没有找到如何否定掩码。这样我可以放置掩码“oxid.meta.php”并搜索与掩码不匹配的文件,但还没有运气。

以上是关于如何从 PhpStorm 全局搜索中排除文件 (Ctrl+Shift+F)的主要内容,如果未能解决你的问题,请参考以下文章

PHPStorm技巧篇 -- 全局搜索

Sonata admin bundle:从全局搜索中排除自定义管理员

phpstorm如何从桌面拖入插件

为啥我的 node_modules 文件夹被排除在我的 phpStorm 中?

如何从 git grep 搜索中排除某些目录/文件

phpstorm 8.0.1 怎么显示文件下的所有方法