Bỏ qua một thư mục trong kết quả tìm kiếm


164

Tôi đang tìm kiếm một chuỗi và nhận được các kết quả khớp trong một thư mục nguồn và một thư mục xây dựng (tệp trong nguồn được sao chép để xây dựng trong quá trình xây dựng).

Tôi không cần kết quả thư mục xây dựng.

Vim có wildignoregiúp lọc kết quả.

Có một cái gì đó tương tự trong intelij?

Câu trả lời:


246

Đánh dấu thư mục bản dựng của bạn là loại trừ:

File > Project Structure > Modules > Sources > Mark as Excluded (red icon)

Bạn cũng có thể chỉ cần nhấp chuột phải vào thư mục của bạn và chọn Mark Directory As > Excluded.

Các thư mục bị loại trừ (hiển thị dưới dạng rootExcluded) là các thư mục mà IntelliJ IDEA "bỏ qua một phần". Hỗ trợ mã hóa rất hạn chế được cung cấp cho các tệp trong các thư mục loại trừ. Các lớp chứa trong các thư mục bị loại trừ không xuất hiện trong danh sách đề xuất hoàn thành mã, các tham chiếu đến các lớp đó được hiển thị trong trình chỉnh sửa dưới dạng chưa được giải quyết. Khi tìm kiếm, IntelliJ IDEA không tìm trong các thư mục bị loại trừ, v.v.

Nguồn

Lưu ý: Xem câu trả lời của Nader Hadji Ghanbari cho cách tiếp cận khác bằng cách sử dụng Phạm vi.


1
Tôi không có Tệp> Cài đặt dự án trong intellij 14. Tôi đã loại trừ một số thư mục và chúng không được bao gồm trong tìm kiếm.
Eric Francis

25
Nếu bạn bỏ qua một thư mục, nếu không sẽ hiển thị trong kết quả tìm kiếm của bạn. Bạn cũng có thể chỉ cần nhấp chuột phải vào thư mục của bạn và chọn Mark Directory As > Excluded.
Darek Kay

12
Bao gồm một thư mục từ dự án chỉ được chấp nhận nếu thư mục đó thực sự bị bỏ qua. Đôi khi bạn không muốn loại trừ thư mục, nhưng bạn chỉ muốn loại trừ nó khỏi tìm kiếm.
Nader Ghanbari 14/03/2015

22
Tôi vừa thử điều này trong IntelliJ 15.0.6 và các thư mục bị loại trừ vẫn hiển thị trong kết quả tìm kiếm.
Steven Byks

5
Điều này dường như không hoạt động trong Intellij 2019. Các thư mục bị loại trừ vẫn hiển thị trong kết quả tìm kiếm.
jrahhali

87

Câu trả lời ngắn

Bằng cách xác định Phạm vi khi tìm kiếm, bạn có thể bao gồm / loại trừ các tệp / thư mục tùy ý khỏi phạm vi đó.

Trả lời chi tiết

Một cách để đạt được yêu cầu của bạn (không bao gồm các tệp và thư mục từ tìm kiếm) là xác định phạm vi tùy chỉnh. Điều này đặc biệt hữu ích vì đôi khi bạn chỉ muốn loại trừ một thư mục khỏi tìm kiếm của bạn chứ không phải toàn bộ dự án.

Thực hiện theo các bước sau:

  1. Edit-> Find-> Find in pathhoặc nhấn Ctrl+ Shift+ F.

  2. Chọn Customtrong Scopephần và sau đó chọn<unknown scope>

Phạm vi tìm kiếm

  1. Bây giờ bấm vào +nút để thêm một mới localphạm vi tùy chỉnh

Thêm một phạm vi tùy chỉnh mới

  1. Đặt tên cho phạm vi và lưu nó.

Lưu phạm vi tùy chỉnh cục bộ

  1. Bây giờ bạn có thể bao gồm và loại trừ các thư mục từ phạm vi này. Trước tiên, bạn có thể thêm mọi thứ bằng cách chọn include recursivelyvà sau đó loại trừ từng cái một bằng cách chọn excludehoặc exclude recursively.

nhập mô tả hình ảnh ở đây

Lưu ý rằng bạn thậm chí có thể bao gồm hoặc loại trừ các thư viện mà dự án của bạn phụ thuộc vào.

  1. Khi tìm kiếm, bạn có thể chọn phạm vi hiệu quả bằng cách trong Scopephần trong Find in Pathhộp thoại.

Thêm thông tin

Bạn có thể kiểm tra tài liệu JetBrains trên Phạm vi để biết thêm thông tin. Phạm vi có thể được sử dụng không chỉ khi tìm kiếm mà còn trong một loạt các trường hợp sử dụng khác trong IntelliJ IDEA.

Mẫu

Bạn có thể sử dụng Mẫu để xác định phạm vi khiến chúng trở nên mạnh mẽ hơn và bằng chứng trong tương lai.

sử dụng các mẫu là một cách khác để loại trừ các tệp và thư mục. Ví dụ file:src/main/java//*&&!file:src/main/java/my//*sẽ loại trừ tất cả các tệp trong mythư mục.

nhập mô tả hình ảnh ở đây


2
Có vẻ như Idea 15 yêu cầu bạn nhấp vào "..." bên cạnh Tùy chỉnh thay vì chọn <unknown scope>.
mikebridge

Làm thế nào tôi có thể loại trừ các tập tin từ tìm kiếm ở khắp mọi nơi?
ycomp

Chờ đợi quá nhiều công việc! Câu trả lời của allkenang dưới đây giải quyết vấn đề trong hai lần nhấp. Đó là nhanh hơn đọc phiên bản ngắn của câu trả lời này.
Superole

3
@Superole đúng, giống như câu trả lời được chấp nhận, nhưng nó thực sự loại trừ thư mục khỏi dự án (nó sẽ không còn là thư mục nguồn hoặc kiểm tra nữa) và đó không phải là điều bạn luôn muốn. Loại trừ một thư mục hoàn toàn khỏi một dự án hoặc chỉ loại trừ nó chỉ cho một tìm kiếm cụ thể là hai điều khác nhau (đó là lý do tại sao một số người thấy câu trả lời này hữu ích). Nhân tiện, nếu bạn sử dụng Maven cho các dự án Java hoặc SBT cho Scala (hoặc tương tự như vậy cho các lang khác), bạn có thể không bao giờ muốn loại trừ một thư mục vì mọi thứ đã được thực hiện tự động cho bạn.
Nader Ghanbari

Cảm ơn đã dạy tôi về phạm vi, @NaderGhanbari! Tôi không nhận ra IntelliJ có chức năng này.
Jan Molak

23

Trong Intellij 15, để loại trừ một thư mục chỉ cần làm điều này:

trong cửa sổ Project, chọn thư mục sau đó nhấp chuột phải và chọn "Đánh dấu thư mục là"> "Không bao gồm"


À Cảm ơn bạn! Điều này dễ hơn một triệu lần so với câu trả lời được chấp nhận ! Tôi đã thử tạo một phạm vi đầu tiên, nhưng đó là một cơn ác mộng của việc cuộn, nhấp, mở rộng, bật, bao gồm và loại trừ.
Superole

Trong dự án Maven, cài đặt này không tồn tại sau khi thay đổi chi nhánh bằng một ứng dụng riêng.
Pr0methean

8
Có vẻ như không hoạt động trong IntelliJ 2018 - nó được đánh dấu là bị loại trừ nhưng vẫn hiển thị trong kết quả: /
Chris Nevill

12

Nhấp chuột phải vào thư mục -> Đánh dấu thư mục là -> Không bao gồm.


0

Nếu bạn đang tìm kiếm tập quán, hãy mở "Tìm cài đặt sử dụng ...", theo mặc định Ctrl+ Alt+ Shift+ F7, để thu hẹp phạm vi từ "Tất cả các tệp" thành "Tệp dự án".

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.