我正在搜索一个字符串,并在源文件夹和构建文件夹中获得匹配(源文件在构建期间被复制到构建)。

我不需要构建文件夹的结果。

Vim具有wildignore功能,可以帮助过滤结果。

intelij中也有类似的东西吗?


当前回答

将构建文件夹标记为排除:

文件>项目结构>模块>来源>标记为排除(红色图标)

您也可以右键单击文件夹并选择将目录标记为>排除。

排除的文件夹(显示为rootexclexcluded)是IntelliJ IDEA“部分忽略”的文件夹。对于排除文件夹中的文件提供非常有限的编码帮助。排除文件夹中包含的类不会出现在代码完成建议列表中,对此类类的引用在编辑器中显示为未解析。在搜索时,IntelliJ IDEA不会查找排除的文件夹等。

注意:请参阅Nader Hadji Ghanbari的回答,了解使用Scopes的另一种方法。

其他回答

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

最后修改:2020年6月8日

将文件标记为纯文本 在Project工具窗口中,选择所需的文件。 在选项的上下文菜单中,选择“标记为纯文本”:


按名称模式排除文件和文件夹 在“设置/首选项”对话框中,按Ctrl+Alt+S,单击“目录”。 在“排除文件”字段中,键入定义要排除的文件和文件夹名称的掩码,例如,*.min.js或lib。使用分号作为分隔符。 如果某个文件的名称与这些模式中的任何一个匹配,则该文件将被视为排除。 如果文件夹的名称与模式匹配,则排除该文件夹及其子文件夹中的所有文件。


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

如果您正在搜索用法,请打开“查找用法设置…”,默认为Ctrl+Alt+Shift+F7,将范围从“所有文件”缩小到“项目文件”。

在Intellij 15中,要排除一个文件夹,只需这样做:

在项目窗口中,选择文件夹,然后右键单击并选择“标记目录为”>“排除”

一些答案适用于旧版本的IntelliJ,但在2020.2和其他最新版本中,我一直在搜索结果中看到排除的文件夹。在我的例子中:node_modules。

不过我找到了一个有用的方法。至少对于javascript项目是这样的。对于其他语言可能有类似的东西可用。

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

希望这是有效的,但如果它没有,并且你正在使用Javascript,继续:

进入设置->语言和框架-> Javascript ->库 在那里,取消勾选所有您不想包含在搜索中的目录。

这是否是一个好主意还有待观察;IntelliJ不只是将它们从搜索中排除,而是从所有的代码解析中排除,这意味着它可能也不能识别来自该目录的导入。对我来说,目前它似乎工作得很好,但我不能保证。尝试一下,但请记住如何恢复它。

这是一个丑陋的工作。IntelliJ显然需要一种更好的方法来从搜索中排除目录。

这是我在IntelliJ 2022.3.1上唯一工作的东西,即使将目录标记为排除也不起作用(它只将图标更改为红色,但仍然显示出来)。

文件>首选项>编辑器>忽略的文件和文件夹

我可以忽略生成的bla.html。