2014-04-09 11 views
21

Kiedy robię Find in Path (Ctrl + Shift + F), często uzyskuję wyniki w "Wykorzystaniach w wygenerowanym kodzie" w plikach R.java. Kiedy szukam mojego kodu, chcę to zrobić: przeszukaj mój kod. Nie pliki wygenerowane przez mój kod.Ignore R.java fies in Find results

Czy jest możliwe, aby okno dialogowe wyszukiwania nie wyświetlało żadnych plików R.java w wynikach? Jedyne wyniki, jakie chcę, to te z "Znalezionych zdarzeń"

Dziękuję!

+0

To pytanie ma lepszą odpowiedź tutaj: http://stackoverflow.com/questions/29682656/how-do-i-write -a-custom-search-filter-to-weed-out-r-java-files –

+0

Możliwy duplikat [Jak napisać niestandardowy filtr wyszukiwania w celu wyodrębnienia plików R.java?] (http://stackoverflow.com/questions/29682656/how-do-i-write-a-custom-search-filter-to-weed-out-r-java-files) – CrandellWS

Odpowiedz

2

Jeśli używasz Androida Studio, prostym sposobem na osiągnięcie tego jest ustawienie zakresu jako katalogu (zamiast całego projektu) i ustawienie tego katalogu jako folderu src - ponieważ R.java pojawia się pod kompilacją/wygenerowany, nie pojawi się tam w wynikach.

+0

Dzięki za odpowiedź! Działa to dobrze w przypadku projektów zawierających tylko jeden moduł. Czy istnieje metoda przeszukiwania wszystkich folderów src w wielu modułach projektu za pomocą tej metody? –

+0

Nie, niestety, jestem tego świadomy! Jeśli moglibyśmy użyć wyrażenia regularnego lub oznaczać "nie nazwę pliku" w maskach plików, to przypuszczam, że byłoby to łatwe, ale nie wydaje się to możliwe. – Mete

3

Aby wyszukać wiele modułów ale ignorować R.java, można użyć następującego maskę IF nie masz żadnych innych nazw gęsiego postać w projekcie:

☑ File mask(s): ??*.* 

tj Ogranicz wyniki do nazw z co najmniej 2 znakami + dowolnym rozszerzeniem.

27

Android Studio (podobnie jak jego protoplasta IntelliJ) umożliwia zdefiniowanie niestandardowego zakresu, który pomaga wykluczyć pliki pośrednie podczas wyszukiwania.

]1

Oto kroki używam to ustawić:

  1. Doprowadzić się znajdujemy w oknie ścieżki (Ctrl + Shift + F na moim komputerze).
  2. W obszarze Zakres wybierz przycisk użytkownika Niestandardowy. Następnie naciśnij przycisk "..." po prawej stronie listy rozwijanej. Pojawi się okno dialogowe Scopes.
  3. Kliknij przycisk "+" po lewej stronie okna dialogowego Zakresy, co spowoduje wyświetlenie okna dialogowego Dodaj nowy zakres. Nazwij go "ExcludeIntermediates".
  4. W polu Wzorzec, wklej w następujący wzór i kliknij OK:

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

Ten wzór wyklucza pliki R.java oraz inne produkty pośrednie, takie jak układ plików w eksplodowała-AAR i AndroidManifest.xml kopie w folderach filters_manifests.

+3

Niesamowite! Jest to odpowiedź, której szukałem, jest to najbardziej poprawna odpowiedź dla kogoś, kto robi Ctrl + Shift + F wiele razy w ciągu dnia. –

+0

musiał wybrać lokalny ... – CrandellWS

2

Używam "niestandardowych zakresów" w Androidzie Studio do ignorowania plików R.java. Inni opisali, jak utworzyć/zapisać "wspólny zakres niestandardowy", który później można przesłać do repozytorium git. Jestem po prostu zamiar podzielić się moją ciąg niestandardowy zakres, który: (tj. * _ Pliki java)

  • ignoruje R.java plików
  • ignoruje wszystkie pliki * .java generowane przez Android Adnotacjach
  • zawiera strings.xml, dimens.xml, styles.xml, attrs.xml, colors.xml pliki
  • zawiera wszystkie pliki XML w układ/* Ścieżka

file:*java&&!file:R.java&&!file:*_.java||file:*strings.xml||file:*dimes.xml||file:*styles.xml||file:*attrs.xml||file:*colors.xml||file:*layout/*xml&&!file:*build/*xml

1

Ten wzór wyklucza pliki R.java oraz inne produkty pośrednie, takie jak układ plików w eksplodowała-AAR i AndroidManifest.xml kopie w folderach filters_manifests.

  • ignoruje R.java plików
  • ignoruje wszystkie pliki * .java generowane przez Android Adnotacjach (tj. Pliki * _ Java)
  • obejmuje strings.xml, dimens.xml, style .xml attrs.xml, colors.xml pliki
  • zawiera wszystkie pliki xML w układ/* ścieżka

    !file:*intermediates*/&&!file:*generated*/&&file:*java&&!file:R.java&&!file:*_.java||file:*strings.xml||file:*dimes.xml||file:*styles.xml||file:*attrs.xml||file:*colors.xml||file:*layout/*xml&&!file:*build/*xml 
    

połączeniu z:

https://stackoverflow.com/a/32238593/1815624

&

https://stackoverflow.com/a/32680493/1815624

0

Można po prostu uniknąć wszystkich wygenerowanych plików z projektu, jak Mike Evans sugeruje w ten tweet

Wystarczy dodać zakres Bez wzoru wymienić:

enter image description here