Tìm các lệnh gọi phương thức trong dự án Eclipse


83

Tôi có một lớp X chứa phương thức myMethod (). Tôi muốn tìm các vị trí trong tất cả các dự án trong không gian làm việc hiện tại của mình nơi myMethod () này đang được gọi. Tôi không thể sử dụng bất kỳ hàm tìm kiếm nào vì có một số lớp với myMethod () và nó không tĩnh. Do đó, tôi cần biết tên của các đối tượng của lớp này, điều này không thể thực hiện được nếu không khám phá các dự án theo cách thủ công.

Eclipse có giải pháp cho việc này không?


Câu trả lời:


115

Đi tới phương thức trong X.java và chọn Mở cấu trúc cuộc gọi từ trình đơn ngữ cảnh.


11
Tôi không biết điều này. Tôi đã sử dụng CTRL-Gphím tắt và nó không hoạt động, vì nó sẽ không dẫn đến việc phương thức được đề cập được gọi từ một phương thức khác trong cùng lớp. Bất cứ ý tưởng tại sao điều này là gì? ...đừng bận tâm! CTRL-SHIFT-Glà để tìm tài liệu tham khảo, CTRL-Glà để tìm các khai báo! : S
Xonatron

4
trong nhật thực của tôi ở đây (mars), phím tắt là ctrl + alt + h :)
thekucays

Tôi đã thử tất cả những gì có thể tìm thấy, Ctrl + Shift + G, ctrl + Alt + H và nhiều thứ khác nhưng tất cả đều cho tôi thấy "Tài nguyên không nằm trên đường dẫn xây dựng của một dự án Java". Vì vậy, không có tác dụng. Ai đó đã đề xuất nhấp chuột phải vào dự án trong cây và chọn "đường dẫn xây dựng" từ menu ngữ cảnh, nhưng tôi không thấy điều này. Tôi đang ở trên photon nhật thực. Cảm ơn
pixel

51

Chọn mymethod()và nhấn ctrl+ alt+ h.

Để xem một số Thông tin chi tiết về bất kỳ phương pháp nào, bạn có thể sử dụng phương pháp này bằng cách chọn Đối tượng hoặc phương pháp cụ thể đó và nhấp chuột phải. bạn có thể thấy " OpenCallHierarchy " ( Ctrl+ Alt+ H). Tương tự như vậy, nhiều công cụ có sẵn để làm cho công việc của bạn dễ dàng hơn như " Quick Outline " ( Ctrl+ O) để xem các Kiểu dữ liệu và các phương thức được khai báo trong một tệp .java cụ thể.

Để biết thêm về điều này, hãy tham khảo Tài liệu tham khảo nhật thực này


3
... mở ra phân cấp cuộc gọi.
Xonatron

Tôi đã thử tất cả những gì có thể tìm thấy, Ctrl + Shift + G, ctrl + Alt + H, Ctrl + O và nhiều thứ khác nhưng tất cả đều cho tôi thấy "Tài nguyên không nằm trên đường dẫn xây dựng của một dự án Java". Vì vậy, không có tác dụng. Ai đó đã đề xuất nhấp chuột phải vào dự án trong cây và chọn "đường dẫn xây dựng" từ menu ngữ cảnh, nhưng tôi không thấy điều này. Tôi đang ở trên photon nhật thực. Cảm ơn
pixel

10

Bạn cũng có thể tìm kiếm các phương pháp cụ thể. Ví dụ: Nếu bạn muốn tìm kiếm isEmpty()phương thức của lớp chuỗi, bạn phải - Tìm kiếm -> Java -> nhập java.lang.String.isEmpty()và trong tùy chọn 'Tìm kiếm', hãy sử dụng Phương pháp .

Sau đó, bạn có thể chọn phạm vi mà bạn yêu cầu.


9

Di chuyển con trỏ đến tên phương thức. Nhấp chuột phải và chọn Tài liệu tham khảo> Dự án hoặc Tài liệu tham khảo> Không gian làm việc từ menu bật lên.


5
select method > right click > References > Workspace/Project (your preferred context ) 

hoặc là

(Ctrl+Shift+G) 

Thao tác này sẽ hiển thị cho bạn dạng xem Tìm kiếm chứa cấu trúc phân cấp của lớp và phương thức sử dụng phương thức này.


3

Nhấp chuột phải vào phương thức và nhấp vào Open call Hierarchy

eclipse nhấp chuột phải phân cấp cuộc gọi


Tôi đã thử tất cả những gì có thể tìm thấy, Ctrl + Shift + G, ctrl + Alt + H và nhiều thứ khác nhưng tất cả đều cho tôi thấy "Tài nguyên không nằm trên đường dẫn xây dựng của một dự án Java". Vì vậy, không có tác dụng. Ai đó đã đề xuất nhấp chuột phải vào dự án trong cây và chọn "đường dẫn xây dựng" từ menu ngữ cảnh, nhưng tôi không thấy điều này. Tôi đang ở trên photon nhật thực. Cảm ơn
pixel

@pixel - Vui lòng thực hiện "cài đặt sạch mvn". Sau đó, hãy thử lại. Nó có thể đang xảy ra bởi vì dự án của bạn không được xây dựng đúng cách.
Manjeet,
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.