2010-03-07 34 views
6

Tôi muốn thêm một bộ lọc mới vào Project Explorer, để ẩn khỏi người dùng một số dự án được tạo tự động trong một Ứng dụng RCP Eclipse.Thêm bộ lọc vào Project Explorer trong Eclipse

Cho đến nay tôi đã tìm thấy hai điểm mở rộng:

org.eclipse.ui.ide.resourceFilters

Cho phép tôi để lọc Navigation

org.eclipse.jdt.ui .javaElementFilters

Cho phép tôi lọc Trình xem Java

Tôi hy vọng có một điểm mở rộng tương tự cho Project Explorer, nhưng cho đến nay tôi đã không có bất kỳ may mắn nhận được nó.

tôi đã cố gắng nhập khẩu org.eclipse.ui.navigator và org.eclipse.ui.navigator.resources nhưng tôi không thể tìm thấy bất kỳ điểm mở rộng tìm kiếm thú vị hoặc

Tôi đang sử dụng Eclipse 3.3.2 làm cơ sở cho Ứng dụng RCP này

Cảm ơn!

Trả lời

7

tôi thấy quyền thiết lập các điểm mở rộng. Đó là nhiều hơn một nỗi đau mà tôi mong đợi, bởi vì Project Explorer là một chuyên ngành của navigator chung.

Đây là một quá trình gồm hai bước:

  • mở rộng org.eclipse.ui.navigator.navigatorContent

    • Thêm một bộ lọc thông thường đến thời điểm mở rộng này.
    • Đặt tên và id để bộ lọc
    • Thực hiện xem bộ lọc với logic mong muốn
  • mở rộng org.eclipse.ui.navigator.viewer

    • Thêm một viewerContentBinding
    • Đặt id nội dung thành org.eclipse.ui.navigator.ProjectExplorer
    • Thêm hai bao gồm
    • Trong lần đầu tiên bao gồm thêm một patter phù hợp với id của bộ lọc thông thường
    • Trong thứ hai bao gồm thêm org.eclipse.ui.navigator.resourceContent id

Và sau đó, bộ lọc có liên quan để phổ biến Project Explorer

+0

@Mario: rất thú vị; cảm ơn bạn đã trả lời, mặc dù bạn có thể chi tiết hơn một chút;). +1 – VonC

2

Bộ lọc ... cho Dự án Chế độ xem Explorer?

Có một số lỗi dài đứng trên rằng:

Điều đó có thể requiere một số phát triển cụ thể (như đề xuất trong this thread)

bạn có thể thực hiện điều này bằng crea ting một lớp mở rộng ViewFilter và kết hợp lớp học của bạn với trình khám phá dự án.

(Lưu ý: FilterViewer là broken in Eclipse3.3.1, một số sử dụng 3.3.2 đây là một ý tưởng tốt)

+0

Nhận xét này đưa ra gợi ý. Thật vậy, nó được thực hiện bằng cách mở rộng ViewFilter. Phần khó khăn là nhận được sự kết hợp điểm mở rộng phù hợp để đăng ký nó cho nhà thám hiểm dự án. –

8

Có bạn đi:

<extension point="org.eclipse.ui.navigator.navigatorContent"> 
    <commonFilter 
     description="Hides *.pj resources" 
     id="com.xyz.commonFilter.hidePj" 
     name="*.pj resources" 
     activeByDefault="true"> 
     <filterExpression> 
      <and> 
       <adapt type="org.eclipse.core.resources.IResource"> 
        <test property="org.eclipse.core.resources.name" value="*.pj"/> 
       </adapt> 
      </and> 
     </filterExpression> 
    </commonFilter> 
</extension> 
<extension point="org.eclipse.ui.navigator.viewer"> 
    <viewerContentBinding 
      viewerId="org.eclipse.ui.navigator.ProjectExplorer"> 
      <includes> 
      <contentExtension pattern="com.xyz.commonFilter.hidePj"/> 
      </includes> 
    </viewerContentBinding> 
</extension> 

Đừng quên để nhập khẩu org.ec lipse.ui.navigator gói

+0

Làm việc hoàn hảo cho tôi và tốt đẹp mà bạn không cần phải tạo ra một lớp duy nhất. Cảm ơn! –

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