Jak mogę nakazać funkcji „Znajdź w plikach” IntelliJ, aby ignorowała wygenerowane pliki?

103

Muszę znaleźć w plikach. Chcę zignorować lub wykluczyć wygenerowane pliki, takie jak artefakty lub klasy JAX-WS w folderach docelowych. Jak mogę powiedzieć IDEA, aby wykluczyła te pliki z wyszukiwania?

Freiheit
źródło
3
Tak! I zawsze stawiają wygenerowane wyniki na TOP! Do licha!
SMBiggs

Odpowiedzi:

102

Utwórz niestandardowy zakres określający zestaw plików do uwzględnienia / wykluczenia z wyszukiwania.

  1. CTRL+ SHIFT+ Fdla okna dialogowego Znajdź w ścieżce . (Użytkownicy komputerów Mac naciśnij command+ shift+ F)
  2. W obszarze Zakres wybierz opcję Niestandardowy .

    Znajdź w Path

  3. Wybierz zakres z listy rozwijanej lub utwórz zakres niestandardowy, klikając ...przycisk po prawej stronie listy rozwijanej.

  4. W wyświetlonym oknie dialogowym kliknij +przycisk i wybierz opcję Lokalna
  5. W prawym okienku możesz uwzględniać i wykluczać pojedyncze pliki oraz rekurencyjnie dołączać lub wykluczać wszystkie pliki poniżej folderu.

Teraz, gdy używasz funkcji Znajdź w ścieżce , użyj zakresu niestandardowego, aby ograniczyć przeszukiwane pliki.

Na podstawie odniesienia do Znajdź w plikach w Twoim pytaniu podejrzewam, że te instrukcje mogą nie mieć zastosowania do Twojej wersji, ale warto wiedzieć, że ta funkcja istnieje i zawsze dostępna jest 30-dniowa wersja próbna.

Rob Kielty
źródło
2
To działa. Dzięki. Miałem nadzieję, że istnieje pewne ustawienie lub pole wyboru, które przeoczyłem, dotyczące efektu „ignoruj ​​wygenerowane pliki”.
Freiheit
1
@Freiheit Możesz mieć możliwość, aby projekt ignorował również wygenerowane pliki, co domyślnie wykluczałoby je z wyszukiwania i tym podobnych wszędzie (chyba że lubisz oglądać lub potrzebujesz wygenerowanych plików w IntelliJ, oczywiście).
ajp15243
3
@ ajp15243 Można to zrobić w ustawieniach -> zakres projektu
:)
1
Dla porównania, te kroki działają dokładnie tak samo w IntelliJ Ultimate 13.
kurtzbot
1
Dobra odpowiedź @RobKielty :) Uratowałeś mnie przed godzinami codziennych frustracji
Shanimal
51

Wiem, że to późna pora na przyjęcie, a odpowiedź Roba jest przyzwoita. Chciałbym tylko dodać następującą alternatywę: jeśli wybrałeś Customzakres (jak w odpowiedzi Roba), a następnie pozostaw wybór na Project Files, spowoduje to, że wyszukiwanie IntelliJ będzie nieco bardziej selektywne niż domyślnie. Nie wiem, jakie są dokładne różnice, ale szczególnie interesujące jest to, że jeśli oznaczysz katalog jako Excludedalbo za pomocą Moduleszakładki w Project Structureustawieniach, albo klikając prawym przyciskiem myszy katalog i wybierając Mark Directory As-> Excluded.

Jeśli pliki, które chcesz wykluczyć, znajdują się w jednym lub stosunkowo niewielu katalogach, więc możesz łatwo ręcznie skonfigurować te reguły wykluczania, jest to naprawdę dobry sposób na uzyskanie tego samego wyniku bez konieczności konfigurowania zakresu niestandardowego.

Przetestowałem to w IntelliJ Ultimate 14.1.4. Nie mam pojęcia, jak zachowuje się w innych wersjach, ale podejrzewam, że większość wersji v14 będzie zachowywać się tak samo.

Thor84no
źródło
Oznaczyłem katalog wykluczony przez pomyłkę, jak dodać go ponownie. Opcja kontekstowa „Oznacz katalog jako” nie jest już widoczna dla tego katalogu.
coding_idiot
2
@coding_idiot Mark Directory Asjest nadal dla mnie widoczny, kiedy to robię (wtedy jest możliwość wyboru Cancel Exclusion). Jeśli z jakiegoś powodu to nie zadziała, powinieneś być w stanie zrobić to samo, otwierając Moduleustawienia ( Project Settings-> Modules-> <your module>). W tym oknie dialogowym wszystkie wykluczone foldery powinny być wymienione po prawej stronie ze znakiem xobok, aby zatrzymać wykluczenie.
Thor84no
15

Możesz także umieścić filtr wyszukiwania plików zaczynający się od !znaku, aby wykluczyć. Przykład wyszukiwania kodu spoza plików Test Java: !*Test.java

Jeśli masz kilka typów plików, możesz je oddzielić ,znakiem. Przykład wyszukiwania tylko w plikach Kotlin i Groovy: *.kt,*.groovy

To też może być pomocne.

alex.b
źródło
To bardzo przydatne.
javadba
4

Używam następnego wzorca, aby wykluczyć wygenerowane pliki

!file:*intermediates*/&&!file:*generated*/&&!lib:*..*

Jak dodać ten wzór, patrz

yoAlex5
źródło