Виключіть папки з Eclipse search


263

Чи є спосіб виключити певні папки (та всі їх підпапки) із пошуку в Eclipse?


1
Googlers: см (atzz у відповідь :) stackoverflow.com/a/6111002/1599699 - це відповідь , який ви шукаєте, чи не загальноприйнятий відповідь.
Андрій

@Andrew це прийнята відповідь
Dónal

ПРАВДА ДО ВСІХ СЛОВА!
Андрій

Відповіді:


241

Ось що для мене працює (я використовую Helios - можливо, цей спосіб був недоступний, коли це питання було задано спочатку?)

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

(Насправді, я використовую, .*щоб за один раз відфільтрувати .svn, .hg тощо.)

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


27
Для останніх версій Eclipse станом на 2011 рік (Helios & Indigo) це має бути прийнятою відповіддю та найпростішим способом це зробити.
András Szepesházi

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. І папка, яка мене дратувала, була фактично виведена (папка збірки, в якій перераховані файли іноді призводять до мільйонів звернень).
starblue

@Instantsoup Чому пошук не може виключити папки? Я маю на увазі, він має "!" персонаж тільки для цього, ні? Я не розумію, чому це не працює для мене.
андроїд розробник

3
Створення "робочого набору, що включає лише ті об'єкти, які ви хочете шукати" - не дуже безпечний спосіб зробити це. Насправді фільтр INCLUSIVE досить небезпечний. Уявіть, що ви створили новий каталог або файл, який є побратимом до виключеного. У цьому випадку вам потрібно запам'ятати, щоб включити його в пошук. Якщо ви забудете, пошук має помилкові негативи, які можуть бути небезпечними і змусити вас повірити, що пошук затемнення недостовірний.
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.