我正在搜索一个字符串,并在源文件夹和构建文件夹中获得匹配(源文件在构建期间被复制到构建)。
我不需要构建文件夹的结果。
Vim具有wildignore功能,可以帮助过滤结果。
intelij中也有类似的东西吗?
我正在搜索一个字符串,并在源文件夹和构建文件夹中获得匹配(源文件在构建期间被复制到构建)。
我不需要构建文件夹的结果。
Vim具有wildignore功能,可以帮助过滤结果。
intelij中也有类似的东西吗?
当前回答
如果您正在搜索用法,请打开“查找用法设置…”,默认为Ctrl+Alt+Shift+F7,将范围从“所有文件”缩小到“项目文件”。
其他回答
正如一些人提到的,在许多版本中,简单地将文件夹设置为“排除”是行不通的。对我来说,以下几点结合起来就可以了:
按照建议将违规文件夹设置为“排除”。 使用预定义的范围“项目文件” 利润
将构建文件夹标记为排除:
文件>项目结构>模块>来源>标记为排除(红色图标)
您也可以右键单击文件夹并选择将目录标记为>排除。
排除的文件夹(显示为rootexclexcluded)是IntelliJ IDEA“部分忽略”的文件夹。对于排除文件夹中的文件提供非常有限的编码帮助。排除文件夹中包含的类不会出现在代码完成建议列表中,对此类类的引用在编辑器中显示为未解析。在搜索时,IntelliJ IDEA不会查找排除的文件夹等。
源
注意:请参阅Nader Hadji Ghanbari的回答,了解使用Scopes的另一种方法。
一些答案适用于旧版本的IntelliJ,但在2020.2和其他最新版本中,我一直在搜索结果中看到排除的文件夹。在我的例子中:node_modules。
不过我找到了一个有用的方法。至少对于javascript项目是这样的。对于其他语言可能有类似的东西可用。
当然,首先要从项目中排除该目录。
希望这是有效的,但如果它没有,并且你正在使用Javascript,继续:
进入设置->语言和框架-> Javascript ->库 在那里,取消勾选所有您不想包含在搜索中的目录。
这是否是一个好主意还有待观察;IntelliJ不只是将它们从搜索中排除,而是从所有的代码解析中排除,这意味着它可能也不能识别来自该目录的导入。对我来说,目前它似乎工作得很好,但我不能保证。尝试一下,但请记住如何恢复它。
这是一个丑陋的工作。IntelliJ显然需要一种更好的方法来从搜索中排除目录。
在Intellij 15中,要排除一个文件夹,只需这样做:
在项目窗口中,选择文件夹,然后右键单击并选择“标记目录为”>“排除”
简短的回答
通过在搜索时定义作用域,您可以在该作用域中包含/排除任意文件/文件夹。
详细的回答
实现您的需求(从搜索中排除文件和文件夹)的一种方法是定义一个自定义范围。这是特别有用的,因为有时您只是想从搜索中排除一个文件夹,而不是从整个项目中排除。
遵循以下步骤:
Edit -> Find -> Find in path或按Ctrl+Shift+F。 在作用域部分选择自定义,然后选择<未知作用域>
现在单击+按钮添加一个新的本地自定义作用域
给作用域一个名称并保存它。
现在您可以从这个范围中包含和排除目录。你可以先通过递归地选择include来添加所有东西,然后通过递归地选择exclude或exclude来逐个排除。
请注意,您甚至可以包括或排除项目所依赖的库。
当搜索时,您可以通过在“查找路径”对话框中的“范围”部分选择有效范围。
更多信息
你可以在Scopes上查看JetBrains文档以获得更多信息。作用域不仅可以在搜索时使用,还可以在IntelliJ IDEA中的许多其他用例中使用。
模式
您可以使用模式来定义一个范围,这使得它们更加强大,并且是未来的证明。
使用模式是排除文件和文件夹的另一种方法。例如 文件:src /主/ java / / * & & !文件:src/main/java/my//*将排除我文件夹中的所有文件。