2012-04-12 71 views
13

Sử dụng IDE Eclipse, tôi muốn nhận danh sách tất cả "những thứ" được chú thích bằng chú thích Java cụ thể.Cách tìm cách sử dụng chú thích bằng cách sử dụng IDE Eclipse?

Ví dụ: tôi muốn nhận danh sách tất cả các phương thức được chú thích bằng @Bean trong mã nguồn hoặc JAR của Spring Framework.

Tôi biết rằng có thể tra cứu việc sử dụng chú thích theo chương trình, như được chỉ ra trong this question. Thay vào đó, tôi muốn tìm kiếm việc sử dụng chú thích ở thời gian phát triển trong IDE Eclipse của tôi.

+0

Các bạn nhìn vào viết một Plugin Eclipse? http://www.eclipse.org/articles/Article-Your%20First%20Plug-in/YourFirstPlugin.html –

Trả lời

7

Bạn có thể tìm kiếm các tham chiếu trong Eclipse. Nhấp vào tên chú thích, sau đó nhấp chuột phải, chọn "Tham khảo" và chọn phạm vi cho tìm kiếm của bạn.

+0

Cảm ơn bạn đã gợi ý này. Tuy nhiên, có nhiều vấn đề với cách tiếp cận này: ... nó có thể liệt kê các kết quả dương tính giả, ví dụ: các lớp làm việc với tên chú thích một cách phản chiếu (... AnnotationUtils.findAnnotation (phương thức, Bean.class)! = null;) ... Ngoài ra, phương pháp này được giới hạn ở mã nguồn trong vùng làm việc của tôi. Nó không kiểm tra việc sử dụng chú thích bên trong các thư viện hoặc kho lưu trữ Maven của tôi. Có ý tưởng nào ở đây không? – Abdull

+0

Tôi đồng ý rằng các mặt tích cực sai là xấu, nhưng chúng rất khó - nếu không phải là không thể - để tránh vì tìm kiếm này chạy ở mức "ngữ nghĩa". Giới thiệu về libs và/hoặc repo Maven: Tôi đã từng tin rằng Eclipse cũng sẽ tìm kiếm chúng, cần phải xác minh điều này trên máy tính của tôi vào tuần tới;) – Rob

+0

Cool! Tôi tò mò chờ kết quả của bạn :) – Abdull

4

Bạn có thể Control-click vào chú thích sẽ mở lớp định nghĩa chú thích và sau đó nhấp chuột phải và chọn References ->Workspace.

EDIT: tôi chỉ kiểm tra nó, và nó là đủ để nhấp chuột phải vào các chú thích đề cập và chọn References ->Workspace thậm chí không cần đi sâu vào định nghĩa của nó.

+0

Điều này hoạt động hoàn toàn tốt đẹp! =) – alexander

0

Trong STS, có một tùy chọn trong tìm kiếm:

STS Pointcut Matches

trong đó bạn có thể chỉ định ví dụ: @target(org.springframework.stereotype.Service) đó sẽ tìm thấy tất cả các lớp được đánh dấu bằng @Service

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