Виключіть папки з 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.