Есть ли способ исключить определенные папки (и все их подпапки) из поиска в 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
- Выберите
Resource
→Resource filters
- Нажмите
Add filter
- Выберите следующие настройки:
- Исключить все
- Файлы и папки
- Все дети (рекурсивные)
- Изменить
Name
дляProject Relative Path
- Заполните введенный текст с помощью
(bin$|bin/.*|build/.*|build$)
(заменитеbin
иbuild
на имена папок, которые вы хотите исключить) - Тик
Regular expression
Нажмите OK и затем Применить.
отказ
Это основано на ответе @atzz, который помог мне понять это. Однако, хотя он и ответил на вопрос, как исключить определенные файлы, он не ответил на вопрос, как исключить определенные папки.