Исключить папки из поиска Eclipse

Есть ли способ исключить определенные папки (и все их подпапки) из поиска в Eclipse?

Ответ 1

Быстрый и грязный способ:

Щелкните правой кнопкой мыши по папке, перейдите к свойствам и пометьте папку как производную. Производные объекты исключаются из поиска по умолчанию. Проблема с этим подходом заключается в том, что Eclipse "забывает" о том, что папка выведена, если вы ее удаляете (либо внутри Eclipse, либо извне, а затем обновляете дерево проекта). Как часто с Eclipse это давняя ошибка (10 лет в этом случае), которая по-прежнему относится к текущей версии (4.6 Neon at время написания).

Безопасный путь:

Создайте рабочий набор, содержащий только те объекты, которые вы хотите найти, и выполните поиск только в пределах этого рабочего набора. Подробнее об этой процедуре см. Dave Ray.

Ответ 2

Вот что работает для меня (я использую Helios - может быть, этот способ был недоступен, когда этот вопрос изначально был задан?)

  • Перейдите в Project → Properties → Resource Filters.
  • Нажмите "Добавить".
  • Выберите тип фильтра: Исключить все
  • Выбрать Применяется к: Папки; проверьте всех детей (рекурсивный).
  • В атрибутах выберите "Имя", "Матчи", .svn (например).

(На самом деле, я использую .* для фильтрации .svn,.hg и т.д. за один раз.)

После завершения диалога свойств проекта эти каталоги больше не появятся в поиске. Фактически Eclipse настолько любезен, что автоматически обновляет существующие окна результатов поиска и удаляет все совпадения, которые теперь отфильтровываются.

Ответ 3

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

  • Открыть диалоговое окно поиска (Ctrl + H)
  • Изменить область поиска на рабочий набор
  • Нажмите "Выбрать..."
  • Нажмите "Создать", чтобы создать новый рабочий набор с тем, что вы искали (или "Добавить все", а затем удалить те, которые вы хотите отфильтровать "

Ответ 4

Лучший быстрый и грязный способ в Eclipse Juno:

  • Щелкните правой кнопкой мыши папку .
  • Перейдите в раздел "Свойства".
  • Перейдите в C/С++ Build.
  • Установите флажок "Исключить ресурс из сборки".
  • Нажмите кнопку OK.
  • Щелкните правой кнопкой мыши проект .
  • Перейдите к указателю.
  • Нажмите "Восстановить".
  • Расслабься!

Ответ 5

  • Щелкните правой кнопкой мыши по вашему проекту
  • Выберите Properties
  • Выберите ResourceResource filters
  • Нажмите Add filter
  • Выберите следующие настройки:
    • Исключить все
    • Файлы и папки
    • Все дети (рекурсивные)
  • Изменить Name для Project Relative Path
  • Заполните введенный текст с помощью (bin$|bin/.*|build/.*|build$) (замените bin и build на имена папок, которые вы хотите исключить)
  • Тик Regular expression

Нажмите OK и затем Применить.

отказ

Это основано на ответе @atzz, который помог мне понять это. Однако, хотя он и ответил на вопрос, как исключить определенные файлы, он не ответил на вопрос, как исключить определенные папки.