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

225

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

  • 1
    Googlers: смотрите (ответ atzz :) stackoverflow.com/a/6111002/1599699 - это ответ, который вы ищете, а не принятый ответ.
Теги:
search

4 ответа

285
Лучший ответ

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

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

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

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

  • 2
    Как отметил Дейв в своем ответе: установка вещей, которые на самом деле не являются производными, может вызвать проблемы. Как и при использовании Maven для создания дистрибутива.
  • 2
    В Juno пометка папки как производной не исключает ее из поиска. Я работаю на Mac OS, так что это может быть связано с этим, поскольку я вижу, что некоторые функции не работают правильно в этой ОС
Показать ещё 5 комментариев
195

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

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

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

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

  • 26
    Для последних версий Eclipse от 2011 года (Helios & Indigo) это должен быть принятый ответ и самый простой способ сделать это.
  • 9
    Так как это может применяться только к одному проекту за раз, на самом деле это не выигрыш по сравнению с маркировкой производных папок ... и в зависимости от того, сколько раз вам нужно набирать фильтры, это может занять больше времени.
Показать ещё 8 комментариев
69

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

  • Открыть диалоговое окно поиска (Ctrl + H)
  • Изменить область поиска на рабочий набор
  • Нажмите "Выбрать..."
  • Нажмите "Создать", чтобы создать новый рабочий набор с тем, что вы искали (или "Добавить все", а затем удалить те, которые вы хотите отфильтровать "
  • 3
    Это тоже имеет проблемы. Смотрите мой комментарий под ответом Instantsoup выше. С помощью этого фильтра INCLUSIVE, в некоторых случаях, когда вы добавляете файлы или папки, вы должны помнить, чтобы включить их в поиск. Если вы забудете, вы получите опасные ложные негативы. Что не идеально.
  • 0
    В Eclipse Kepler есть диалоговое окно «Выбор типа рабочего набора», которое появляется после нажатия кнопки «Создать». (Стоит отметить, что для поиска всех типов файлов на этом этапе нужно выбрать «Ресурс».)
1

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

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню