2010-01-20 16 views
34

Tôi thường phải gỡ lỗi mã java đã được viết để có một giao diện và chính xác một triển khai thực hiện giao diện đó.ctrl-click đi đến khai báo của phương pháp tôi nhấp vào. Đối với các giao diện với một triển khai thực hiện, làm cách nào tôi có thể trực tiếp chuyển đến triển khai đó?

Ví dụ, sẽ có giao diện Foo với chính xác một triển khai được gọi là FooImpl. Trong đoạn mã sau, nếu tôi bấm ctrl vào doThings, nó sẽ nhảy tới Foo.java khi tôi thực sự muốn đến FooImpl.java để xem việc thực hiện.

public void doStuff(Foo foo) { 
    foo.doThings(); 
} 

Khi tôi kết thúc ở giao diện, tôi phải sử dụng ctrl-shift-r để mở FooImpl. Sẽ rất tuyệt nếu tôi có thể làm điều gì đó lick ctrl-alt-click lên doThings và kết thúc bên trong FooImpl.java. Nếu có nhiều triển khai trong không gian làm việc thì có lẽ nó sẽ chỉ bật lên một hộp cho tôi biết chúng là gì.

Có một plugin hoặc chức năng hiện có trong nhật thực thực hiện việc này không? Tôi biết rằng tôi có thể đi đến Foo.java và sau đó nhận được hệ thống phân cấp và đi đến việc thực hiện, nhưng đó là nhiều nhấp chuột hơn là cần thiết khi có chính xác một triển khai của một giao diện.

+0

Có ai biết cách thực hiện điều này trong Netbeans không? –

+2

@Tnay http://wiki.netbeans.org/JavaGoToImplementation –

+0

có một plugin, làm cho "triển khai mở" dễ dàng hơn.http: //eclipse-tools.sourceforge.net/implementors/download.html – lwpro2

Trả lời

15

Plugin Implementors thực hiện chính xác những gì bạn yêu cầu. Nếu chỉ có một triển khai, nó sẽ mở nó trực tiếp, nếu không nó sẽ cho phép bạn chọn.

+1

Các giải pháp được cung cấp bởi meritron và Stephen đều làm việc tuyệt vời, nhưng giải pháp của bạn mang lại cho tôi chính xác những gì tôi muốn! Tôi có thể nhấn một phím và nhảy đến việc thực hiện! Nó mặc định dường như lập bản đồ để alt-f3, nhưng tôi đã thay đổi nó thành ctrl-alt-t để nó hoạt động cùng với giải pháp được cung cấp bởi meritron. Cảm ơn! – HappyEngineer

+0

Bạn được chào đón! Phím tắt mặc định để mở khai báo là F3, vì vậy tôi đoán đó là lý do tại sao các tác giả plugin đã chọn Alt + F3 cho chức năng tương tự của chúng, nhưng tự nhiên bạn có thể chọn bất kỳ thứ gì phù hợp nhất với bạn. – Micke

+0

@Micke Plugin đó có hoạt động trên các phiên bản nhật thực mới nhất như 'Luna' và' Mars' –

55
  1. Di chuyển con trỏ đến lời gọi phương thức
  2. Nhấn Ctrl + T
  3. Chọn thực hiện mong muốn của bạn
  4. Hit Nhập

này cũng làm việc nếu có một số người triển khai.

+1

crap thánh, tôi đã tự hỏi làm thế nào để làm điều này trong nhiều năm, cảm ơn bạn rất nhiều! có vẻ rất rõ ràng khi nhìn lại –

+0

Điều đó hoạt động tuyệt vời! Sẽ tốt hơn nếu nó chỉ nhảy trực tiếp vào triển khai nếu chúng chỉ là một triển khai, nhưng nó tốt hơn rất nhiều so với những gì tôi đang làm. – HappyEngineer

+1

Như @StephenDenne đã chỉ ra, khi bạn Ctrl + di chuột qua tên của một phương thức của giao diện, bạn có thể chọn "Khai báo mở" hoặc "Mở triển khai". Nếu bạn chọn cái sau, nó sẽ nhảy thẳng đến lớp thực hiện duy nhất hoặc (nếu có nhiều) mở Phân cấp Loại để bạn có thể chọn lớp triển khai nào bạn muốn nhảy vào. – hotshot309

18

Trong Eclipse 3.5, khi bạn di chuột qua doThings trong khi giữ phím control, một hộp pop-up cung cấp cho bạn hai lựa chọn để bấm vào:

  • Tuyên bố mở
  • Mở Thực hiện

Có ảnh chụp màn hình là phần thứ hai của Eclipse 3.5 New & Noteworthy page for JDT:

alt text http://download.eclipse.org/eclipse/downloads/drops/R-3.5-200906111540/images/open-implementation.png

+1

Mẹo hay hay không. Tôi muốn thêm rằng bạn có thể dễ dàng liên kết điều này với một khóa trong Preferences -> General -> Keys -> "Open Implementation". Điều này bắt chước plugin triển khai hiện đã lỗi thời IMHO. – rwojtech

+1

Tính năng này được gọi là Siêu liên kết. –

21

Đến Window>Preferences>chung>Biên tập>Biên tập Tiêu đề>Hyperlinking, và bỏ chọn Tuyên bố mở. Preferences screenshot

Từ bây giờ, khi bạn giữ Ctrl trong khi di chuột qua tên phương thức, cửa sổ bật lên sau đây sẽ được hiển thị.Chỉ cần nhấp vào tên phương thức và triển khai sẽ được mở (hoặc Các loại triển khai XXX hộp, nếu có nhiều hơn một triển khai).

Popup box

Bạn vẫn sẽ có thể sử dụng tính năngTuyên bố mở bằng cách nhấn F3.

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