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


263

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


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

@ Эндрю, теперь это принятый ответ
Дон

СПРАВЕДЛИВОСТЬ ДЛЯ ВСЕГО ЧЕЛОВЕЧЕСТВА!
Андрей

Ответы:


241

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

  • Перейдите в Проект -> Свойства -> Фильтры ресурсов.
  • Нажмите Добавить .
  • Выберите тип фильтра : исключить все
  • Выберите Применимо к : Папкам ; Проверьте все дети (рекурсивные) .
  • В атрибутах, выберите имя , Спички , .svn(к примеру).

(На самом деле, я использую, .*чтобы отфильтровать .svn, .hg и т. Д. За один раз.)

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


27
Для последних версий Eclipse от 2011 года (Helios & Indigo) это должен быть принятый ответ и самый простой способ сделать это.
Андраш Шепешази

9
Так как это может применяться только к одному проекту за раз, на самом деле это не выигрыш по сравнению с маркировкой производных папок ... и в зависимости от того, сколько раз вам нужно ввести фильтры, это может занять больше времени.
egid

При использовании этого метода не забудьте также очистить историю поиска (используя кнопку фонарика со стрелкой вниз на панели поиска) после добавления фильтра ресурсов. В противном случае вы не сэкономите время поиска и получите .git/.../filename.file doesn't existошибки, потому что поисковый кеш (я думаю?) По-прежнему считает, что папка .git является подходящим местом для поиска.
coredumperror

18
Это работает, но скрывает файлы в проводнике пакетов. Мы можем захотеть редактировать файлы, но не видеть их в результатах поиска.
Арам Кочарян

Когда я попытался, это сработало для фильтрации результатов поиска, но я начал получать ошибки «Ошибки при запуске компоновщика« AspectJ Builder »в проекте« Mercadosa-webapp ». Ресурс уже существует на диске:» /MyProject/target/MyProject-1.0/WEB -INF / freemarker / site / file.ftl '. Ресурс уже существует на диске:' /MyProject/target/MyProject-1.0/WEB-INF/freemarker/site/file.ftl '. "
Марк

292

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

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

Безопасный способ:

Создайте рабочий набор, включающий только те объекты, которые вы хотите найти, и ищите только в этом рабочем наборе. Посмотрите ответ Дэйва Рэя для деталей об этой процедуре.


2
Как отметил Дейв в своем ответе: установка вещей, которые на самом деле не являются производными, может вызвать проблемы. Как и при использовании Maven для создания дистрибутива.
Арджан

2
В Juno пометка папки как производной не исключает ее из поиска. Я работаю в Mac OS, поэтому это может быть связано с этим, поскольку я вижу, что некоторые функции не работают правильно в этой ОС
Marc

У меня работает на Juno SR2 под MS-Windows XP. И папка, которая меня раздражала, была на самом деле получена (папка сборки, где список файлов иногда приводил к миллионам обращений).
13

@Instantsoup Почему поиск не может исключать папки? Я имею в виду, это имеет "!" характер только для этого, нет? Я не понимаю, почему это не работает для меня.
Android-разработчик

3
Создание «рабочего набора, включающего только те объекты, которые вы хотите найти», не очень безопасный способ сделать это. На самом деле ИНКЛЮЗИВНЫЙ фильтр довольно небезопасен. Представьте себе, что вы создаете новый каталог или файл, который исключен из списка. В этом случае вам придется помнить, чтобы включить его в поиск. Если вы забыли, поиск содержит ложные отрицания, которые могут быть опасными и заставить вас поверить, что поиск в Eclipse ненадежен.
JW.

81

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

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

5
Это тоже имеет проблемы. Смотрите мой комментарий под ответом Instantsoup выше. С помощью этого фильтра INCLUSIVE, в некоторых случаях, когда вы добавляете файлы или папки, вы должны помнить, чтобы включить их в поиск. Если вы забудете, вы получите опасные ложные негативы. Что не идеально.
JW.

В Eclipse Kepler есть диалоговое окно «Выберите тип рабочего набора», которое появляется после нажатия кнопки «Создать». (Стоит отметить, что для поиска всех типов файлов на этом этапе нужно выбрать «Ресурс».)
Стив Чамберс

1

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

  1. Щелкните правой кнопкой мыши на папке .
  2. Перейти к свойствам.
  3. Перейти к C / C ++ Build.
  4. Установите флажок «Исключить ресурс из сборки».
  5. Нажмите на кнопку ОК.
  6. Щелкните правой кнопкой мыши на проекте .
  7. Перейти к указателю.
  8. Нажмите Восстановить.
  9. Расслабьтесь!

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

Хит ОК, а затем Применить.

отказ

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


0

Исключение папки или файла из поиска в Eclipse

1 Right-click on the file/folder.
3 Click on the "Properties" option.
4 Select the "Resource" option.
5 Place a check next to the "Derived" attribute.

Надеюсь, это помощь.

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