2015-03-09 26 views
46

Tôi có một dự án Android Studio, trong đó tôi có nhiều mô-đun, mỗi mô-đun đó tùy thuộc vào mô-đun chia sẻ. Và giả sử rằng mô-đun phần này có một cuộc gọi tập tin xml sample.xmlAndroid Studio: Loại trừ tệp trong thư mục xây dựng khỏi kết quả tìm kiếm

Khi tôi tìm kiếm để mở tập tin với Navigate -> Files ... và gõ "sample.xml", tôi sẽ nhận được

  1. Share/src/main/res/values ​​/ sample.xml
  2. ModuleA/xây dựng/trung gian/phát nổ-arr /.../ res/values ​​/ sample.xml
  3. ModuleB/build/trung gian /exploded-arr/.../res/values/sample.xml
  4. ModuleC/build/intermediates/exploded-arr /.../ res/values ​​/ sample.xml =
  5. ModuleD/build/intermediates/exploded-arr /.../ res/values ​​/ sample.xml ...

Vì các tệp trong thư mục xây dựng được tạo và chúng tôi không nên chỉnh sửa chúng, không có lý do gì tôi muốn đưa chúng vào kết quả tìm kiếm của mình. Có anyway tôi có thể loại trừ chúng?

+0

có thể trùng lặp của [Bỏ qua FIEs R.java trong Find kết quả] (http://stackoverflow.com/questions/22973939/ignore- r-java-fies-in-find-results) – CrandellWS

+0

Bản sao có thể có của http://stackoverflow.com/questions/24743242/how-do-i-get-android-studio-to-stop-returning-generated-code- trong kết quả tìm kiếm – CrandellWS

+0

Bản sao có thể có của [Làm cách nào để Android Studio ngừng trả lại mã đã tạo trong kết quả tìm kiếm?] (http://stackoverflow.com/questions/24743242/how-do-i-get-android-studio -to-stop-return-generated-code-in-search-results) – CrandellWS

Trả lời

12

Bạn có thể tạo Phạm vi tùy chỉnh xác định tập hợp tệp bạn muốn tìm kiếm và cho phép bạn loại trừ những tệp bạn không muốn tìm kiếm.

  1. CTRL +SHIFT +F trình bày Tìm trong đường dẫn thoại.
  2. Dưới Phạm vi chọn Tuỳ chỉnh
  3. Nếu một trong những Scopes có mặt trong danh sách thả xuống không hạn chế việc tìm kiếm tập tin theo nhu cầu của bạn, bạn có thể tạo Custom Phạm vi của riêng bạn. Để thực hiện việc này, hãy nhấp vào nút ....
  4. Sau đó Click vào nút + và chọn Local
  5. Trong cửa sổ bên phải, bạn có thể bao gồm và loại trừ những file riêng biệt và Đệ quy bao gồm hoặc loại trừ tất cả các file dưới một thư mục.

Sau đó, bạn có thể sử dụng Phạm vi tùy chỉnh để hạn chế các tệp được tìm kiếm khi bạn thực hiện Tìm trong đường dẫn.

+11

Điều này không hoạt động với "Điều hướng> Tệp ..." –

+1

Có vẻ hơi quá chung chung để thực sự trả lời câu hỏi – 3c71

47

Nói một cách đơn giản, và để thực sự loại trừ xây dựng đường dẫn từ tìm kiếm, bạn cần phải làm theo Frank điểm câu trả lời 1 và 2, sau đó vì không có phạm vi thích hợp mà thực sự loại trừ thư mục build, chỉ cần làm điều này:

bắt đầu từ Tìm trong hộp thoại path,

1) Tap the ... to configure a scope 
2) Click the + and give your new scope a name 
3) Enter "!file:build//*" in the pattern without the double quotes 
4) Tap ok and use your new scope 

Nếu bạn tiếp tục muốn có một phạm vi cho một mô-đun duy nhất, tạo ra một phạm vi cho module của bạn (bao gồm cả đệ quy con đường mô-đun của bạn), sau đó thêm này vào đầu mẫu của bạn:

!file:build//*&& 

Ví dụ, một phạm vi cho 2 module:

!file:build//*&&file[MODULE1_DIRECTORY_NAME]:*/||file[MODULE2_DIRECTORY_NAME]:*/ 

Chỉ có câu trả lời đầy đủ đọc Frank câu trả lời và bài # 7 từ phát hành báo cáo ở đây: http://code.google.com/p/android/issues/detail?id=61488

+1

Dường như hoạt động, nhưng thứ tự độ lớn chậm hơn. –

+3

Bạn có chắc chắn điều này trả lời câu hỏi của mình không? Anh ta hỏi về việc lọc CTRL + SHIFT + N, bạn đưa cho anh ta câu trả lời CTRL + SHIF + F. Tôi cũng cần Navigate> File solution. Ai biết làm thế nào? – TatiOverflow

+1

Hai ví dụ mô-đun thiếu dấu ngoặc đơn: nó phải là '!tệp: build // * && (tệp [MODULE1_DIRECTORY_NAME]: */|| tệp [MODULE2_DIRECTORY_NAME]: * /) ', nếu không thư mục con' build' của module2 không bị loại trừ. –

8

Đã cùng một vấn đề. Tìm thấy rằng các thư mục 'xây dựng' này đã được đánh dấu là sourceFolder trong tệp .iml của mô-đun.

Loại bỏ tất cả các mục như cố định các vấn đề

<sourceFolder url="file://$MODULE_DIR$/build/..." ..../> 
+2

Khi tôi khởi động lại AndroidStudio, iml của mô-đun sẽ khôi phục ... Làm thế nào tôi có thể làm – H3c

+0

@ h3c: Xem https://stackoverflow.com/a/46036948/507339 – Nilzor

2

Vấn đề này dường như được cố định trong các phiên bản sau của Android Studio, nhưng nó phải tái xuất hiện hoặc bạn có thiết lập thư mục đặc biệt:

Bạn cần phải sửa đổi danh sách loại trừ thông qua gradle với sự giúp đỡ của idea plugin

Ví dụ:

apply plugin: 'idea' 

idea.module { 
    excludeDirs += file('build/') 
} 

Sau đó chạy nhiệm vụ ideaModule để tạo các tập tin .iml với dòng loại trừ được mô tả trong Corwin's answer

+0

Hoạt động tuyệt vời! Tôi muốn loại trừ thư mục 'node_modules' của tôi khỏi tập tin tìm thấy vì vậy tôi vừa thêm' excludeDirs + = file ('node_modules /') '. Cảm ơn! –

Các vấn đề liên quan