Làm cách nào để loại trừ một số thư mục khỏi dự án Eclipse của tôi?


86

Tôi đang thêm một dự án nhật thực vào cơ sở mã hiện có của chúng tôi và tôi muốn biết liệu có cách nào để loại trừ một số thư mục khỏi bị nhật thực chọn không? Lý do là chúng tôi có một thư mục "bên thứ ba" khổng lồ trong kho lưu trữ của chúng tôi mà không thể có trong dự án cho plugin lập trình cặp mà chúng tôi đang sử dụng để có thể đồng bộ hóa hiệu quả.

Bất kì manh mối nào?


1
Vì nó có liên quan, hãy xem tại đây: webtrafficexchange.com/… Bằng cách nhấp chuột phải vào một thư mục, nhấp vào Thuộc tính và chọn hộp "Có nguồn gốc", bạn thực sự có thể giữ các tệp của mình dưới dạng tệp nguồn nhưng sau đó loại trừ chúng khỏi tìm kiếm tệp!
Andrew

Câu trả lời:


15

Bộ lọc sẽ ẩn tài nguyên khỏi chế độ xem, nhưng chúng vẫn ở trong dự án. Nếu bạn tạo một dự án ở một vị trí khác, bạn có thể tạo các tài nguyên được liên kết với các thư mục bạn muốn đưa vào dự án của mình.

Để tham khảo, tôi đã đăng một câu trả lời khác mô tả cách sử dụng các tài nguyên được liên kết chi tiết hơn .


Giàu có: đây là cách tiếp cận ban đầu của tôi, nhưng vấn đề tôi nhận thấy là tôi không thể tạo ra các nguồn lực liên quan đến dự án: toàn bộ con đường đều được mã hóa cứng. Đây là một vấn đề vì tôi cần cam kết dự án với SCM của chúng tôi. Bất kỳ ý tưởng làm thế nào để giải quyết điều đó?
jkp

Tôi đã thêm một liên kết đến một câu trả lời khác mô tả điều này chi tiết hơn. Bạn có thể sử dụng một biến trên các nẻo đường, nếu các dự án đang trong không gian làm việc, bạn có thể sử dụng WORKSPACE_ROOT
Giàu bán

Tuyệt diệu. Tôi đã biết về các biến nhưng tôi không thể làm cho chúng hoạt động sớm hơn. Với điều này, tôi nên đi. Câu trả lời tuyệt vời: chính là những gì tôi đang tìm kiếm.
jkp

195

Có một cách đơn giản để làm điều đó:

  1. Nhấp chuột phải vào thư mục dự án trong cây Project Explorer và đi tới "Thuộc tính".
  2. Tài nguyên -> Bộ lọc Tài nguyên.
  3. Thêm nhiều bộ lọc loại trừ cho các tệp / thư mục tùy thích.

Tái bút Nếu cây dự án của bạn không được cập nhật tự động, bạn có thể phải nhấn F5 trong khi nhập tiêu điểm trong cửa sổ Project Explorer.


8
Đây nên là câu trả lời! Điều này cũng hoạt động cho các dự án C ++ sử dụng các thư mục được liên kết.
void.pointer 19/09

Bạn có thể vui lòng đăng những gì sẽ được viết vào tệp .project không? Nhật thực của tôi không thể lưu thay đổi đó vào tệp này, vì vậy tôi sẽ phải viết thủ công.
anh bạn

2
Cảm ơn câu trả lời này, tuy nhiên, Có cách nào để loại trừ chúng khỏi bản dựng, nhưng vẫn để chúng có thể hoạt động và hiển thị trong Project Explorer không?
Movsar Bekaev

6

Có, bạn có thể đặt một bộ lọc tùy chỉnh vào dự án của mình. Trong chế độ xem trình khám phá dự án của bạn, sẽ có một mũi tên chỉ xuống màu trắng gần đầu bảng điều khiển bên cạnh tab Trình khám phá gói. Nhấp vào nó và đi tới Bộ lọc. Từ đó, bạn có thể chỉ định các mẫu thư mục nhất định mà bạn không muốn phát hiện bằng cách chọn hộp bên cạnh Mẫu bộ lọc tên. Trong trường hợp này, tôi sẽ đặt tên của thư viện bên thứ 3.


1
Alberto: cảm ơn vì con trỏ, tôi không biết về điều này chút nào. Chỉ có điều rắc rối là tôi không thể tìm ra cách nào để loại trừ toàn bộ thư mục. Và như Rich đã chỉ ra, chúng sẽ vẫn ở trong dự án, đây sẽ là một vấn đề đối với chúng tôi (tôi đoán plugin sẽ cố gắng đồng bộ chúng).
jkp

Đối với tôi, dường như đây là câu trả lời duy nhất không phụ thuộc vào ngôn ngữ. Các hướng dẫn khác không có sẵn trong dự án dựa trên Python của tôi.
dbn

Eclipse thực sự ẩn thư mục, nhưng họ vẫn có trong xây dựng
Amir Uval

1

Cách tôi luôn làm là kiểm tra rõ ràng các dự án với tư cách là đồng nghiệp. ví dụ:

~ / myworkspace / goodproject
~ / myworkspace / 3rdparty

sau đó chỉ nhập "goodproject" vào nhật thực. Nếu "3rdparty" là một thư mục con của goodproject, bạn có thể giả mạo nó ... Ví dụ như dự án svn của bạn trông như thế này:

dự án/
       src /
          chủ yếu/
          Bên thứ 3 /

Bạn có thể tạo cục bộ dự án / src / sau đó chỉ kiểm tra thư mục "chính" và có eclipse dựa trên phiên bản đóng gói (ví dụ: trỏ tới jar nếu dự án của bạn là java).


1

Nếu bạn muốn thêm bộ lọc trực tiếp bên trong tệp .project , đây là một số quy tắc:

    <type>6</type> <!-- exclude all, files -->
    <type>5</type> <!-- include only, files -->
    <type>13</type> <!-- include only, files and folders -->
    <type>26</type><!-- exclude all, folders, all children -->

    <arguments>1.0-name-matches-false-false-xyz</arguments> <!-- case sensitive=false, regular expression=false, something named=xyz -->
    <arguments>1.0-name-matches-true-false-EEE</arguments> <!-- case sensitive = true, regular expression = false, something named=EEE -->
    <arguments>1.0-name-matches-false-false-www</arguments> <!--case sensitive=false, regular expression = false, something named=www -->

Một phần bộ lọc .project ví dụ:

    <filteredResources>
        <filter>
            <id>1567020347706</id>
            <name></name>
            <type>6</type> <!-- exclude all, files -->
            <matcher>
                <id>org.eclipse.ui.ide.multiFilter</id>
                <arguments>1.0-name-matches-false-false-abc</arguments>
            </matcher>
        </filter>
        <filter>
            <id>1567020347708</id>
            <name></name>
            <type>5</type> <!-- include only, files -->
            <matcher>
                <id>org.eclipse.ui.ide.multiFilter</id>
                <arguments>1.0-name-matches-false-false-xyz</arguments> <!-- case sensitive=false, regular expression=false -->
            </matcher>
        </filter>
        <filter>
            <id>1567020347711</id>
            <name></name>
            <type>13</type>
            <matcher>
                <id>org.eclipse.ui.ide.multiFilter</id>
                <arguments>1.0-name-matches-false-false-mno</arguments>
            </matcher>
        </filter>
        <filter>
            <id>1567020347713</id>
            <name></name>
            <type>26</type><!-- exclude all, folders, all children -->
            <matcher>
                <id>org.eclipse.ui.ide.multiFilter</id>
                <arguments>1.0-name-matches-true-false-EEE</arguments> <!-- case sensitive = true, regular expression = false -->
            </matcher>
        </filter>
        <filter>
            <id>1567020347716</id>
            <name></name>
            <type>26</type> <!-- exclude all, folders, all children -->
            <matcher>
                <id>org.eclipse.ui.ide.multiFilter</id>
                <arguments>1.0-name-matches-false-false-www</arguments> <!-- case sensitive = false, regular expression = false -->
            </matcher>
        </filter>
    </filteredResources>
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.