Intellij Idea 忽略搜索结果中的文件夹

beq87vna  于 2023-01-08  发布在  其他
关注(0)|答案(9)|浏览(379)

我正在搜索一个字符串,并在一个源文件夹和一个构建文件夹(源文件中的文件在构建期间被复制到构建文件夹)中获得匹配。
我不需要生成文件夹结果。
Vim有wildignore,可以帮助过滤结果。
intelij中有类似的东西吗?

ikfrs5lh

ikfrs5lh1#

将生成文件夹标记为已排除:
第一个月
您也可以右键单击文件夹并选择Mark Directory As > Excluded
排除的文件夹(显示为rootExcluded)是IntelliJ IDEA“部分忽略”的文件夹。为排除的文件夹中的文件提供的编码帮助非常有限。排除的文件夹中包含的类不会出现在代码完成建议列表中,对此类的引用在编辑器中显示为未解析。搜索时,IntelliJ IDEA不会查找排除的文件夹等。
Source
注:请参阅Nader Hadji Ghanbari的回答,了解使用Scopes的另一种方法。

dgsult0t

dgsult0t2#

简短回答

通过在搜索时定义Scope,您可以在该范围中包括/排除任意文件/文件夹。

详细答案

实现您的要求(从搜索中排除文件和文件夹)的一种方法是定义自定义范围。这特别有用,因为有时您只想从搜索中排除文件夹,而不是从整个项目中排除。
请按照以下步骤操作:

  1. Edit-〉Find-〉Find in path或按Ctrl + Shift + F组合键。
    1.在Scope部分中选择Custom,然后选择<unknown scope>

1.现在单击+按钮以添加新的local自定义范围

1.为作用域命名并保存。

1.现在您可以在此作用域中包括和排除目录。您可以先通过选择include recursively添加所有内容,然后通过选择excludeexclude recursively逐个排除。

请注意,您甚至可以包含或排除项目所依赖的库。
1.搜索时,可在Find in Path对话框的Scope部分中选择有效范围。

更多信息

您可以查看JetBrains docs on Scopes以了解更多信息。作用域不仅可以在搜索时使用,还可以在IntelliJ IDEA中的许多其他用例中使用。

模式

您可以使用Patterns来定义一个作用域,使它们更加强大,更经得起未来的考验。
使用模式是排除文件和文件夹的另一种方法。例如,file:src/main/java//*&&!file:src/main/java/my//*将排除my文件夹中的所有文件。

wxclj1h5

wxclj1h53#

在Intellij 15中,要排除文件夹,只需执行以下操作:
在“项目”窗口中,选择文件夹,然后右键单击并选择“将目录标记为”〉“已排除”

8mmmxcuj

8mmmxcuj4#

智智智IDEA 2021.3.3(终极版)
在我的例子中,所有在.tox_build中生成的文件都出现在我的查找结果中,这可能是一个笨拙的工具,但我添加了这两个文件夹类型到首选项-〉编辑器-〉文件类型-〉忽略的文件和文件夹:.tox,_build。
警告,你不会看到这些文件和文件夹在您的项目导航器。但是,这是一个很小的代价,没有他们显示在我的搜索结果一致。

gtlvzcf8

gtlvzcf85#

许多答案在旧版本的IntelliJ中运行良好,但在2020.2中,以及可能在其他最新版本中,我总是在搜索结果中看到被排除的文件夹。node_modules.
不过我发现了一些确实有效的东西。至少对javascript项目是这样。可能对其他语言也有类似的东西可用。

  • 当然,首先要从项目中排除该目录。

希望这能起作用,但如果不起作用,并且您使用的是Javascript,请继续:

  • 转到设置-〉语言和框架-〉Javascript-〉库
  • 在那里,取消选中所有不想包含在搜索中的目录。

这是否是个好主意还有待观察; IntelliJ不仅会将它们从搜索中排除,还会将它们从所有代码解析中排除,这意味着它可能也无法识别来自该目录的导入。对我来说,目前它似乎工作正常,但我不能保证。尝试一下,但记住如何恢复。
这是一个丑陋的解决方案。IntelliJ显然需要一个更好的方法来从搜索中排除目录。

hsgswve4

hsgswve46#

正如一些人提到的,简单地将文件夹设置为“Excluded”在许多版本中并不起作用。以下方法的组合对我来说很有效:
1.按照建议将有问题的文件夹设置为“排除”。
1.使用预定义的范围“项目文件”
1.利润

wf82jlnq

wf82jlnq7#

从项目中排除文件和文件夹

第一个月
1.将文件标记为纯文本
1.在“项目”工具窗口中,选择所需的文件。
1.从所选内容的上下文菜单中,选择标记为纯文本

*按名称模式排除文件和文件夹

1.在设置/首选项对话框Ctrl+Alt+S中,单击目录

  • 排除文件字段中,键入定义要排除的文件和文件夹名称的掩码,例如*.min.jslib。使用分号作为分隔符。
  • 如果文件名与这些模式中的任何一个匹配,则将该文件视为已排除。
  • 如果文件夹的名称与某个模式匹配,则将排除此文件夹及其子文件夹中的所有文件。

来源:https://www.jetbrains.com/help/phpstorm/excluding-files-from-project.html

mi7gmzs6

mi7gmzs68#

如果要搜索使用示例,请打开“查找使用示例设置...”(默认情况下为Ctrl+Alt+Shift+F7),以将范围从“所有文件”缩小到“项目文件”。

lawou6xi

lawou6xi9#

这是我在IntelliJ 2022.3.1上唯一有效的东西,即使将目录标记为excluded也不起作用(它只将图标更改为红色,但仍然显示)。
File > Preferences > Editor > Ignored Files and Folders
我可以忽略生成的bla.html

相关问题