Loại trừ các thư mục khỏi tìm kiếm Eclipse


263

Có cách nào để loại trừ các thư mục nhất định (và tất cả các thư mục con của chúng) khỏi tìm kiếm trong Eclipse không?


1
Nhân viên của Google: xem (câu trả lời của atzz :) stackoverflow.com/a/6111002/1599699 - đây là câu trả lời bạn đang tìm kiếm, không phải là câu trả lời được chấp nhận.
Andrew

@Andrew đây là câu trả lời được chấp nhận
Dónal

JUSTICE CHO TẤT CẢ CÁC NHÂN VIÊN!
Andrew

Câu trả lời:


241

Đây là những gì phù hợp với tôi (Tôi đang sử dụng Helios - có thể cách này không khả dụng khi câu hỏi này ban đầu được hỏi?)

  • Đi đến Dự án -> Thuộc tính -> Bộ lọc tài nguyên.
  • Nhấp vào Thêm .
  • Chọn Loại bộ lọc : Loại trừ tất cả
  • Chọn Áp dụng cho : Thư mục ; kiểm tra tất cả trẻ em (đệ quy) .
  • Trong các Thuộc tính, chọn Tên , Kết hợp , .svn(ví dụ).

(Trên thực tế, tôi đang sử dụng .* để lọc ra .svn, .hg, v.v. trong một lần.)

Sau khi ổn định hộp thoại thuộc tính dự án, các thư mục này sẽ không xuất hiện trong tìm kiếm nữa. Trong thực tế, Eclipse rất tốt khi tự động cập nhật các cửa sổ kết quả tìm kiếm hiện có và loại bỏ tất cả các kết quả khớp hiện được lọc ra.


27
Đối với các phiên bản mới nhất của Eclipse kể từ năm 2011 (Helios & Indigo), đây phải là câu trả lời được chấp nhận và là cách dễ nhất để làm điều đó.
András Szepesházi

9
Vì điều này chỉ có thể được áp dụng cho một dự án tại một thời điểm, nên nó thực sự không đạt được mục đích đánh dấu các thư mục có nguồn gốc ... và tùy thuộc vào số lần bạn cần nhập vào bộ lọc, có thể mất nhiều thời gian hơn.
vd:

Khi sử dụng phương pháp này, hãy nhớ xóa lịch sử tìm kiếm của bạn (sử dụng nút đèn pin với mũi tên xuống trong bảng điều khiển tìm kiếm) sau khi thêm bộ lọc tài nguyên. Nếu không, bạn sẽ không tiết kiệm thời gian tìm kiếm và bạn sẽ gặp .git/.../filename.file doesn't existlỗi vì bộ đệm tìm kiếm (tôi nghĩ vậy?) Vẫn coi thư mục .git là nơi hợp lệ để tìm.
coredumperror

18
Điều này hoạt động nhưng ẩn các tập tin trong gói thám hiểm. Chúng tôi có thể muốn chỉnh sửa các tệp nhưng không thấy chúng trong kết quả tìm kiếm.
Aram Kocharyan

Khi tôi thử, nó hoạt động để lọc kết quả tìm kiếm, nhưng tôi bắt đầu gặp lỗi "Lỗi khi chạy trình tạo 'AspectJ Builder' trên dự án 'Mercadosa-webapp'. Tài nguyên đã tồn tại trên đĩa: '/MyProject/target/MyProject-1.0/CHB -INF / freemarker / site / file.ftl '. Tài nguyên đã tồn tại trên đĩa:' /MyProject/target/MyProject-1.0/weB-INF/freemarker/site/file.ftl '. "
Marc

292

Cách nhanh chóng và bẩn thỉu:

Nhấp chuột phải vào một thư mục, đi đến các thuộc tính và đánh dấu một thư mục là dẫn xuất. Các thực thể phái sinh được loại trừ khỏi tìm kiếm theo mặc định.Vấn đề với cách tiếp cận này là Eclipse "quên" rằng thư mục có nguồn gốc nếu bạn xóa nó (từ bên trong Eclipse hoặc bên ngoài, tiếp theo là làm mới cây dự án). Giống như thường thấy với Eclipse, đây là một lỗi đã tồn tại từ lâu (trong 10 năm trong trường hợp này) vẫn áp dụng cho phiên bản hiện tại (4.6 Neon tại thời điểm viết).

Cách an toàn:

Tạo một bộ làm việc chỉ bao gồm những thực thể bạn muốn tìm kiếm và chỉ tìm kiếm trong bộ làm việc đó. Xem câu trả lời của Dave Ray để biết chi tiết về quy trình này.


2
Giống như Dave lưu ý trong câu trả lời của mình: thiết lập những thứ không thực sự có nguồn gốc có thể gây ra vấn đề. Giống như khi sử dụng Maven để tạo phân phối.
Arjan

2
Trong Juno, việc đánh dấu một thư mục là dẫn xuất không loại trừ nó khỏi tìm kiếm. Tôi đang làm việc trên Mac OS nên có thể liên quan đến điều đó vì tôi thấy một số tính năng không hoạt động chính xác trên HĐH này
Marc

Hoạt động với tôi trên Juno SR2 trong MS-Windows XP. Và thư mục làm tôi khó chịu thực sự có nguồn gốc (thư mục xây dựng, với các tệp liệt kê đôi khi dẫn đến vô số lượt truy cập).
starblue

@Instantsoup Tại sao bản thân tìm kiếm không thể loại trừ các thư mục? Ý tôi là, nó có dấu "!" nhân vật chỉ cho điều này, không? Tôi không hiểu tại sao nó không làm việc cho tôi.
nhà phát triển Android

3
Tạo 'một bộ làm việc chỉ bao gồm những thực thể bạn muốn tìm kiếm' không phải là cách làm rất an toàn. Trong thực tế, bộ lọc INCLUSIVE khá không an toàn. Hãy tưởng tượng việc tạo một thư mục hoặc tệp mới là anh chị em với một thư mục bị loại trừ. Trong trường hợp đó, bạn sẽ phải nhớ BAO GỒM nó trong tìm kiếm. Nếu bạn quên, tìm kiếm có những phủ định sai có thể gây nguy hiểm và khiến bạn tin rằng tìm kiếm Eclipse là không đáng tin cậy.
JW.

81

Tôi có thể tưởng tượng rằng việc đánh dấu các tài nguyên có nguồn gốc có thể gây ra vấn đề trong các lĩnh vực khác. Thay vào đó, hãy tạo một bộ làm việc với các thư mục bạn muốn đưa vào tìm kiếm:

  • Mở hộp thoại Tìm kiếm ( Ctrl+ H)
  • Thay đổi phạm vi tìm kiếm thành Bộ làm việc
  • Nhấp vào Chọn ...
  • Bấm Mới để tạo Tập làm việc mới với những gì bạn muốn tìm kiếm (hoặc Thêm tất cả, sau đó xóa những bộ bạn muốn lọc

5
Điều này cũng có vấn đề. Xem bình luận của tôi dưới câu trả lời của Instantsoup ở trên. Với bộ lọc INCLUSIVE này, trong một số trường hợp, khi bạn thêm tệp hoặc thư mục, bạn phải nhớ đưa chúng vào tìm kiếm. Nếu bạn quên bạn nhận được tiêu cực sai nguy hiểm. Mà không lý tưởng.
JW.

Trong Eclipse Kepler có một hộp thoại "Chọn loại thiết lập làm việc" xuất hiện sau khi nhấp vào Mới. (Đáng lưu ý rằng để tìm tất cả các loại tệp cần chọn "Tài nguyên" tại thời điểm này.)
Steve Chambers

1

Cách nhanh nhất và bẩn nhất trong Juno Eclipse:

  1. Nhấp chuột phải vào thư mục .
  2. Chuyển đến Thuộc tính.
  3. Chuyển đến C / C ++ Build.
  4. Kiểm tra "Loại trừ tài nguyên khỏi bản dựng".
  5. Nhấn vào nút OK.
  6. Nhấp chuột phải vào dự án .
  7. Chuyển đến mục lục.
  8. Nhấp vào Xây dựng lại.
  9. Thư giãn!

1
  • Nhấp chuột phải vào dự án của bạn
  • Lựa chọn Properties
  • Chọn Resource->Resource filters
  • Nhấp chuột Add filter
  • Chọn các cài đặt sau:
    • Không bao gồm tất cả
    • Tập tin và thư mục
    • Tất cả trẻ em (đệ quy)
  • Thay đổi NamechoProject Relative Path
  • Điền văn bản đầu vào bằng (bin$|bin/.*|build/.*|build$)(thay thế binbuildbằng tên của các thư mục bạn muốn loại trừ)
  • Đánh dấu Regular expression

Nhấn OK và sau đó áp dụng.

Khước từ

Điều này được xây dựng dựa trên câu trả lời của @ atzz, giúp tôi tìm ra điều này. Tuy nhiên, trong khi nó trả lời câu hỏi làm thế nào để loại trừ một số tệp nhất định, nó không trả lời câu hỏi làm thế nào để loại trừ các thư mục nhất định.


0

Loại trừ một thư mục hoặc tệp không được tìm kiếm trong 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.

Hy vọng là giúp đỡ.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.