从搜索中排除文件夹,但不在项目列表中


95

我有几个相同的不同项目core

我需要做的是将所有非当前项目标记为excluded避免搜索它们(简单搜索,shift + cmd + n等)。

换句话说,我想从core+ 获得搜索结果current project

有什么办法可以进行close某些项目,但是可以在中使用它们,projects list并且open就像关闭项目一样容易吗?也许您还有其他经验?

在此处输入图片说明


7
从普通文本搜索中排除-简单-只需定义自定义范围(“首选项” |“范围”),然后在“在路径中查找/替换”和类似对话框中使用它即可。但这不适用于“导航|文件/类/符号”,因为它始终适用于整个项目。取而代之的是-更好地重组您的文件夹结构(“因为我确实在与另一个文件夹一起工作,所以隐藏了此文件夹”是不正确的方法)。
LazyOne

是的,我要做的一种方法是为每个文件夹创建单独的项目,并创建指向该core文件夹的符号链接。但是我正在寻找其他方式。
Vitalii Petrychuk

1
不需要符号链接(尽管我也在使用它-对我来说很好用)。您可以将其附加为“其他内容根目录”(“首选项” |“目录”)。
LazyOne

大!请发表您的回答作为答案,我会接受的。
Vitalii Petrychuk

Answers:


66

要应用自定义搜索使用范围Setting> Project Settings> Scopes使用它Find in PathReplace in Path
我建议重新组织您的文件夹,以便在项目目录中没有多余的文件。此外,您还可以将指定源根Settings> Project Settings> Directories并添加额外的目录。


4
您可以使用以下方法创建范围:!file[*]:.idea/*&&!file[*]:.idea//*&&!file[*]:app/cache//*&&!file[*]:app/logs//*
Roukmoute 2014年

13
FYI Mac用户,它是PhpStorm > Preferences > Appearance & Behavior > Scopes
韦斯利·史密斯

我认为这个答案已经过期。设置>项目设置>范围似乎不存在
安德鲁(Andrew)

3
@Andrew在“设置”>“外观和行为”>“ CE 2016.3的范围”下
tex

谢谢特克斯...就是那个。
安德鲁

41

这是从搜索结果中排除目录的最佳方法。我在大型Magento项目中工作,其中有许多我不想在搜索结果中找到的目录。这解决了我的问题。如果您的项目包含/ vendor目录,则将被忽略,这将有助于加快PHPStorm中的索引编制。

右键单击任何文件夹以显示以下选项。

从搜索中排除


也适用于Laravel软件包开发。建议的方法是在项目根目录中创建程序包文件夹。现在它将使用与您的主项目相同的类,因此您最终会收到大量重复类存在的错误。右键单击并执行此操作,它就像魔术一样工作。示波器方法对我不起作用!
Juha Vehnia

39

2016.3开始,可以在 “设置” >“ 外观和行为” >“ 范围”下找到它

或无论版本如何,只需转到“设置 ”,然后在顶部的搜索框中输入“范围”即可。

然后只需单击+符号添加范围,选择要排除的文件夹,然后单击“ 递归排除”并应用。

然后,当您使用CTRL + SHIFT + F进行搜索时,在“选项”>“范围”下选择“自定义”,然后选择您刚刚创建的范围(感谢评论者)。


4
如果要使用cmd + shift + F之类的FIND,则只需添加即可,然后在选项选项卡中进行单选,然后选择椭圆,它会打开范围工具,您可以选择或创建范围以排除所需的内容。
daveferrara1

4
This automatically excludes this folder's contents from the searches...创建自定义范围后,搜索Ctrl + Shift + F仍在全局搜索,直到我明确选择“自定义”并按照@ daveferrara1的建议选择了范围。
Dimitry K

1
在2020年:单击+后,Localvs Shared选项表示排除项是否进入VCS。然后,您必须命名。然后,在@DimitryK步骤(现在称为Scope选项卡)之后,您必须在下拉菜单中选择相同的名称。(Jetbrains UX是否在修补其他人成为脾气暴躁的老人?)
Bob Stein

2

就像@Justinas和评论者说的那样:您可以创建一个自定义范围并每次使用`` 在路径中查找''(以及类似方法)时选择该自定义范围来烦恼自己,因为PhpStorm默认情况下不使用该自定义范围🤦🏻‍♂️

无论如何,排除node_modules目录都会破坏自动补全功能和其他代码辅助功能。你不想那样做。

但是,我发现了一个hack,它不需要node_modules的任何目录排除,也不需要自定义范围:

  1. 关闭PhpStorm。确保它没有运行。
  2. 使用您喜欢的文本编辑器在项目目录中的.idea目录中打开name_of_your_project.iml只要不是PhpStorm。
  3. 删除线 <content url="file://$MODULE_DIR$/node_modules" />
  4. 保存。
  5. 再次享受生活。

我发现JetBrains 有点业余,默认情况下包括依赖存储目录,例如JavaScript / TypeScript的node_modules和PHP的供应商。几乎没有任何用例可将这些目录包含在查找和替换功能中,更不用说重构功能了。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.