Wyklucz foldery z wyszukiwania Eclipse

263

Czy istnieje sposób, aby wykluczyć niektóre foldery (i wszystkie ich podfoldery) z wyszukiwania w środowisku Eclipse?

Dónal
źródło
1
Googlersi: patrz (odpowiedź atzza :) stackoverflow.com/a/6111002/1599699 - to odpowiedź, której szukasz, a nie zaakceptowana odpowiedź.
Andrew
@Andrew to jest teraz akceptowana odpowiedź
Dónal
WYMIAR SPRAWIEDLIWOŚCI ZA CAŁĄ LUDZKOŚĆ!
Andrew

Odpowiedzi:

241

Oto, co działa dla mnie (używam Helios - może ten sposób nie był dostępny, gdy pytanie zostało pierwotnie zadane?)

  • Przejdź do projektu -> właściwości -> filtry zasobów.
  • Kliknij Dodaj .
  • Wybierz Typ filtra : Wyklucz wszystkie
  • Wybierz Dotyczy : Foldery ; zaznacz Wszystkie dzieci (rekurencyjne) .
  • W atrybutach, wybierz nazwę , mecze , .svn(na przykład).

(Właściwie używam .*do filtrowania .svn, .hg itp. Za jednym razem.)

Po zatwierdzeniu okna dialogowego właściwości projektu te katalogi nie będą już wyszukiwane. W rzeczywistości Eclipse jest tak miły, że automatycznie aktualizuje istniejące okna wyników wyszukiwania i usuwa wszystkie dopasowania, które są teraz odfiltrowane.

atzz
źródło
27
W przypadku najnowszych wersji Eclipse z 2011 r. (Helios i Indigo) powinna to być zaakceptowana odpowiedź i najłatwiejszy sposób.
András Szepesházi
9
Ponieważ można to zastosować tylko do jednego projektu na raz, naprawdę nie jest to zysk w porównaniu do oznaczania folderów pochodzących ... i w zależności od tego, ile razy trzeba wpisać filtry, może to potrwać dłużej.
np.
Korzystając z tej metody, pamiętaj również o wyczyszczeniu historii wyszukiwania (używając przycisku latarki ze strzałką w dół w panelu wyszukiwania) po dodaniu filtra zasobów. W przeciwnym razie nie zaoszczędzisz czasu wyszukiwania i pojawią się .git/.../filename.file doesn't existbłędy, ponieważ pamięć podręczna wyszukiwania (myślę?) Nadal uważa folder .git za prawidłowe miejsce do wyszukiwania.
coredumperror
18
Działa to, ale ukrywa pliki w eksploratorze pakietów. Możemy chcieć edytować pliki, ale nie widzieć ich w wynikach wyszukiwania.
Aram Kocharyan
Kiedy próbowałem, działało to do filtrowania wyników wyszukiwania, ale zacząłem pojawiać się błędy „Błędy podczas uruchamiania konstruktora„ AspectJ Builder ”w projekcie„ Mercadosa-webapp ”. Zasób już istnieje na dysku:„ /MyProject/target/MyProject-1.0/WEB -INF / freemarker / site / file.ftl ”. Zasób już istnieje na dysku:„ /MyProject/target/MyProject-1.0/WEB-INF/freemarker/site/file.ftl ”.”
Marc
292

Szybki i brudny sposób:

Kliknij folder prawym przyciskiem myszy, przejdź do właściwości i zaznacz folder jako pochodny. Jednostki pochodne są domyślnie wyłączone z wyszukiwania. Problem z tym podejściem polega na tym, że środowisko Eclipse „zapomina”, że folder jest uzyskiwany, jeśli zostanie on usunięty (z poziomu środowiska Eclipse lub zewnętrznie, a następnie odświeżane jest drzewo projektu). Jak to często bywa w Eclipse, jest to od dawna błąd (w tym przypadku 10 lat), który nadal dotyczy aktualnej wersji (4.6 Neon w momencie pisania).

Bezpieczny sposób:

Utwórz zestaw roboczy zawierający tylko te podmioty, które chcesz przeszukać, i szukaj tylko w obrębie tego zestawu roboczego. Zobacz odpowiedź Dave'a Ray'a, aby uzyskać szczegółowe informacje na temat tej procedury.

Instantsoup
źródło
2
Jak zauważył Dave w swojej odpowiedzi: ustalanie rzeczy, które tak naprawdę nie są pochodnymi, mogą powodować problemy. Podobnie jak w przypadku korzystania z Maven do utworzenia dystrybucji.
Arjan
2
W Juno oznaczenie folderu jako pochodnego nie wyklucza go z wyszukiwania. Pracuję na systemie Mac OS, więc może to być związane z tym, ponieważ widzę wiele funkcji, które nie działają poprawnie w tym systemie operacyjnym
Marc
Działa dla mnie na Juno SR2 pod MS-Windows XP. A folder, który mnie zirytował, faktycznie został wyprowadzony (folder kompilacji, z listami plików czasami powodującymi zilliony hitów).
starblue
@Instantsoup Dlaczego samo wyszukiwanie nie wyklucza folderów? Mam na myśli, że ma „!” postać tylko po to, nie? Nie rozumiem, dlaczego to dla mnie nie działa.
programista Androida
3
Tworzenie „zestawu roboczego zawierającego tylko te jednostki, które chcesz przeszukać” nie jest zbyt bezpiecznym sposobem na zrobienie tego. W rzeczywistości filtr INCLUSIVE jest dość niebezpieczny. Wyobraź sobie, że tworzysz nowy katalog lub plik, który jest rodzeństwem do wykluczonego. W takim przypadku musisz pamiętać, aby uwzględnić to w wyszukiwaniu. Jeśli zapomnisz, wyszukiwanie ma fałszywe negatywy, które mogą być niebezpieczne i prowadzą do przekonania, że ​​wyszukiwanie Eclipse jest zawodne.
JW.
81

Mogłem sobie wyobrazić, że oznaczanie uzyskanych zasobów może powodować problemy w innych obszarach. Zamiast tego utwórz zestaw roboczy z folderami, które chcesz uwzględnić w wyszukiwaniu:

  • Otwórz okno wyszukiwania ( Ctrl+ H)
  • Zmień zakres wyszukiwania na Zestaw roboczy
  • Kliknij Wybierz ...
  • Kliknij Nowy, aby utworzyć nowy zestaw roboczy z tym, co chcesz przeszukać (lub Dodaj wszystko, a następnie usuń te, które chcesz przefiltrować
Dave Ray
źródło
5
To też ma problemy. Zobacz mój komentarz pod odpowiedzią Instantsoup powyżej. Z tym filtrem INCLUSIVE w niektórych przypadkach, gdy dodajesz pliki lub foldery, musisz pamiętać, aby uwzględnić je w wyszukiwaniu. Jeśli zapomnisz, otrzymasz niebezpieczne fałszywe negatywy. Co nie jest idealne.
JW.
W Eclipse Kepler znajduje się okno dialogowe „Wybierz typ zestawu roboczego”, które pojawia się po kliknięciu Nowy. (Warto zauważyć, że aby znaleźć wszystkie typy plików, w tym momencie wybierz „Zasób”).
Steve Chambers,
1

Najlepszy szybki i brudny sposób w Eclipse Juno:

  1. Kliknij folder prawym przyciskiem myszy .
  2. Idź do Właściwości.
  3. Przejdź do kompilacji C / C ++.
  4. Zaznacz „Wyklucz zasób z kompilacji”.
  5. Kliknij przycisk OK.
  6. Kliknij projekt prawym przyciskiem myszy .
  7. Przejdź do indeksu.
  8. Kliknij opcję Przebuduj.
  9. Zrelaksować się!
DiFS
źródło
1
  • Kliknij projekt prawym przyciskiem myszy
  • Wybierz Properties
  • Wybierz Resource->Resource filters
  • Kliknij Add filter
  • Wybierz następujące ustawienia:
    • Wyklucz wszystkie
    • Pliki i foldery
    • Wszystkie dzieci (rekurencyjne)
  • Zmień NamenaProject Relative Path
  • Wpisz tekst wejściowy za pomocą (bin$|bin/.*|build/.*|build$)(zamień bini buildwedług nazw folderów, które chcesz wykluczyć)
  • Kleszcz Regular expression

Kliknij OK, a następnie Zastosuj.

Zrzeczenie się

To opiera się na odpowiedzi @ atzz, która pomogła mi to rozgryźć. Jednak chociaż odpowiedział na pytanie, jak wykluczyć niektóre pliki, nie odpowiedział na pytanie, jak wykluczyć niektóre foldery.

Vic Seedoubleyew
źródło
0

Wykluczanie przeszukiwania folderu lub pliku w 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.

Nadzieja to pomoc.

superup
źródło