This post comes from the first version of this blog.
Please send me an email if anything needs an update. Thanks!

Jako użytkownicy Eclipse staramy się maksymalnie wykorzystać możliwości oferowane nam przez to IDE. Pomimo tego, że wiele funkcji w inteligentny sposób pozwala nam na uzyskanie pożądanego efektu, czasem musimy jednak skorzystać ze “starych, dobrych” narzędzi. W dzisiejszym wpisie chciałbym Wam zaprezentować krótką poradę dotyczącą właśnie jednego z takich prostych narzędzi.

Problem: Wyszukiwanie informacji w niepotrzebnych miejscach.

W moim przypadku problem polegał na tym, że w momencie, kiedy chciałem wyszukać fragment tekstu w plikach projektu, Eclipse wyszukiwał informacje zasobach zawartych w katalogach wewnętrznych SVNa. Ze względu na to, że do obsługi tego systemu kontroli wersji wykorzystuję TortoiseSVN, nie eksperymentowałem nawet z Subversive, Subclipse, czy innymi wtyczkami do SVNa. Wtyczki te ukrywają zazwyczaj wszystkie "niepotrzebne" informacje sprzed oczu użytkownika - ja lubię jednak mieć wszystko "na widoku". Ukrycie tych katalogów powoduje także wyłączenie ich z przeszukiwania, dlatego musiałem poradzić sobie w inny sposób.

Wyszukiwanie informacji w niektórych katalogach może być uciążliwe także ze względu na inne sytuacje, np. kiedy mamy bardzo duży katalog zawierający np. pliki wynikowe mechanizmu cache. W takim przypadku na pewno o wiele wydajniej byłoby przeszukiwać tylko katalogi z kodem lub innymi “wartościowymi” materiałami. Jak to zrobić?

Rozwiązanie: Znak wykrzyknika (!) ignoruje wzorzec.

W oknie wyszukiwania ("File search" i "Remote search") znajduje się pole "File name patterns", zawierające listę wzorców, które nasze IDE będzie brało pod uwagę podczas przeszukiwania zawartości projektu. Jeśli spojrzycie na zawartość tego pola, najprawdopodobniej zobaczycie znak gwiazdki (*), co oznacza, że zostaną przeszukane wszystkie znalezione elementy.

Rozwiązanie jest bardzo proste - wystarczy za gwiazdką umieścić oddzielone przecinkami wzorce, poprzedzone znakiem wykrzyknika. Jeśli chcielibyśmy np. wyłączyć z przeszukiwania wszystkie pliki zrzutów bazy danych, wystarczy, że pojawi się w tej linijce fragment:

!*.sql
a więc biorąc pod uwagę początkową gwiazdkę i dodając jeszcze np. pliki skryptów PHP, cała linijka wyglądałaby następująco:
*, !*.sql, !*.php
dzięki temu zostaną przeszukane wszystkie zasoby poza tymi wyłączonymi. I... już! ;]