Игнорировать папку в результатах поиска


164

Я ищу строку и получаю совпадения в исходной папке и папке сборки (файл в источнике копируется для сборки во время сборки).

Мне не нужен результат сборки папки.

В Vim есть возможность wildignoreотфильтровать результаты.

Есть ли что-то похожее в интелии?

Ответы:


247

Отметьте вашу папку сборки как исключенную:

File > Project Structure > Modules > Sources > Mark as Excluded (red icon)

Вы также можете просто щелкнуть правой кнопкой мыши на вашей папке и выбрать Mark Directory As > Excluded.

Исключенные папки (отображаются как rootExcluded) - это те, которые IntelliJ IDEA «частично игнорирует». Очень ограниченная помощь при кодировании предоставляется для файлов в исключенных папках. Классы, содержащиеся в исключенных папках, не отображаются в списках предложений по дополнению кода, ссылки на такие классы отображаются в редакторе как неразрешенные. При поиске IntelliJ IDEA не просматривает исключенные папки и т. Д.

Источник

Примечание. См. Ответ Надера Хаджи Ганбари о другом подходе с использованием областей видимости.


1
У меня нет файла> Настройки проекта в intellij 14. Я исключил некоторые папки, и они не включены в поиск.
Эрик Фрэнсис

25
Если вы игнорируете папку, если не будет отображаться в результатах поиска. Вы также можете просто щелкнуть правой кнопкой мыши на вашей папке и выбрать Mark Directory As > Excluded.
Дарек Кей

12
Включение папки из проекта допустимо только в том случае, если эта папка действительно игнорируется. Иногда вы не хотите исключать папку, но хотите просто исключить ее из поиска.
Надер Ганбари

22
Я только что попробовал это в IntelliJ 15.0.6 и исключенные папки все еще отображаются в результатах поиска.
Стивен Бикс

5
Это не работает в Intellij 2019. Исключенные папки по-прежнему отображаются в результатах поиска.
Джрахали

87

Короткий ответ

Определяя Scope при поиске, вы можете включать / исключать произвольные файлы / папки из этой области.

Подробный ответ

Один из способов удовлетворить ваши требования (исключая файлы и папки из поиска) - определить пользовательскую область. Это особенно полезно, потому что иногда вы просто хотите исключить папку из поиска, а не из всего проекта.

Следуй этим шагам:

  1. Edit-> Find-> Find in pathили нажмите Ctrl+ Shift+ F.

  2. Выберите Customв Scopeразделе, а затем выберите<unknown scope>

Области поиска

  1. Теперь нажмите на +кнопку, чтобы добавить новую localпользовательскую область

Добавление новой настраиваемой области

  1. Дайте области видимости имя и сохраните его.

Сохранение локальной пользовательской области

  1. Теперь вы можете включать и исключать каталоги из этой области. Вы можете сначала добавить все, выбрав, include recursivelyа затем исключить одно за другим, выбрав excludeили exclude recursively.

введите описание изображения здесь

Обратите внимание, что вы можете даже включать или исключать библиотеки, от которых зависит ваш проект.

  1. При поиске вы можете выбрать эффективную область в Scopeразделе в Find in Pathдиалоге.

Больше информации

Вы можете проверить документы JetBrains на Scopes для получения дополнительной информации. Области можно использовать не только при поиске, но и в ряде других случаев использования в IntelliJ IDEA.

Узоры

Вы можете использовать Шаблоны, чтобы определить область, которая делает их еще более мощными и перспективными.

использование шаблонов - это еще один способ исключить файлы и папки. Например file:src/main/java//*&&!file:src/main/java/my//*, исключит все файлы в myпапке.

введите описание изображения здесь


2
Похоже, что в Idea 15 вы должны нажать «...» рядом с Custom вместо выбора <unknown scope>.
Микробридж

как я могу исключить файлы из поиска везде?
17

Вааай слишком много работы! Ответ Allkenang ниже решает проблему в два клика. Это быстрее, чем читать короткую версию этого ответа.
Superole

3
@Superole true, такой же, как принятый ответ, но он буквально исключает папку из проекта (она больше не будет исходной или тестовой папкой), и это не то, что вы всегда хотите. Полное исключение папки из проекта или просто исключение ее только для конкретного поиска - это две разные вещи (поэтому некоторые люди находят этот ответ полезным). Кстати, если заметить, что если вы используете Maven для проектов Java или SBT для Scala (или тому подобное для других языков), вы, вероятно, никогда не захотите исключать папку, потому что все уже сделано для вас автоматически.
Надер

Спасибо, что рассказали мне об областях, @NaderGhanbari! Я не осознавал, что IntelliJ обладает такой функциональностью.
Ян Молак

23

В Intellij 15, чтобы исключить папку, просто сделайте это:

в окне проекта выберите папку, затем щелкните правой кнопкой мыши и выберите «Пометить каталог как»> «Исключено»


Ааа. Спасибо! Это было в миллион раз легче, чем принятый ответ ! Сначала я попытался создать область, но это был кошмар прокрутки, щелчка, расширения, переключения, включая и исключая.
Superole

В проекте Maven этот параметр не сохраняется после смены веток в отдельном приложении.
Pr0methean

8
Похоже, что не работает в IntelliJ 2018 - он помечен как исключенный, но все еще показывает в результатах: /
Крис Невилл


0

Если вы ищете способы использования, откройте «Настройки поиска ...», по умолчанию Ctrl+ Alt+ Shift+ F7, чтобы сузить область действия от «Все файлы» до «Файлы проекта».

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.