2011-08-22 50 views
142

Có cách nào trong Xcode để tìm tất cả các địa điểm mà phương thức hoặc thuộc tính đã được gọi không?Tìm tài liệu tham khảo phương pháp trong Xcode

Trong Eclipse, ví dụ, bạn có thể bấm chuột phải vào một phương thức và chọn Tìm tài liệu tham khảo. Có gì tương tự trong Xcode không?

Trả lời

-11

Với xcode 4 bạn có thể nhấp chuột phải vào tham chiếu và chọn "chuyển đến định nghĩa".

+10

Điều đó trả lời câu hỏi ngược lại. – Richard

+0

bạn không đọc hoặc hiểu chính xác câu hỏi. – ra170

18

Kể từ XCode 4.5, bạn có thể nhấp vào "Hiển thị tùy chọn tìm kiếm" trong trường tìm kiếm của Điều hướng tìm kiếm. Ở đó bạn có thể xác định "Symbol Tài liệu tham khảo"

enter image description here

+2

Đây là một cải tiến nhỏ so với tìm kiếm trống, nhưng nó trả về * tất cả * tham chiếu, không chỉ là tài liệu cụ thể mà bạn đang tìm kiếm. Ví dụ: nếu bạn có một lớp có thuộc tính "chiều cao", tìm kiếm tham chiếu biểu tượng trên thuộc tính chiều cao của bạn sẽ trả về tham chiếu đến tất cả các loại thuộc tính chiều cao khác mà bạn đã sử dụng, vì vậy bạn vẫn phải sàng lọc kết quả để tìm muốn. Đối với một hack hoạt động khá độc đáo thấy điều này: http://stackoverflow.com/a/5457479/850721 –

32

Vâng, mở Trợ lý biên tập và thay vì đối tác chọn Người gọi.

enter image description here

+1

Bạn không * có * để sử dụng trình chỉnh sửa chia cho điều này, mặc dù nó có thể thuận tiện nếu bạn định được chỉnh sửa rất nhiều phương pháp gọi trong kế nhanh chóng. Xem câu trả lời của tôi. –

213
  1. Chọn phương pháp mà bạn đang quan tâm, hoặc đặt con trỏ văn bản bên trong nó.
  2. Mở trình đơn "Tệp có liên quan" qua biểu tượng ở trên cùng bên trái của Trình chỉnh sửa. (Đó là nút ngay bên trái của nút quay lại).
  3. Chuyển đến trình đơn phụ "Người gọi" để biết danh sách tất cả các phương pháp gọi phương thức đã chọn và nhấp vào bất kỳ phương pháp nào để chuyển đến tệp và phương thức đó.

Trong hình ảnh ...

Screenshot of steps 1 and 2 above.

Screenshot of step 3 above

Một vài lưu ý:

  • Bạn có thể làm điều này cho thuộc tính quá.
  • Lưu ý rằng khi bạn chọn một phương thức gọi từ trình đơn Người gọi để chuyển đến nơi phương thức của bạn được gọi, Xcode chỉ hiển thị cuộc gọi trước tiên. Mỗi phương thức gọi điện thoại sẽ chỉ hiển thị trong danh sách 'Người gọi' một lần, ngay cả khi nó có nhiều cuộc gọi đến phương thức của bạn. Vì vậy, nếu bạn đang cố gắng thực hiện một số thay đổi ở mọi nơi trong ứng dụng của bạn, nơi phương thức được gọi, hãy cẩn thận không bỏ lỡ một số địa điểm mà phương thức gọi có chứa hai cuộc gọi đến phương pháp bạn quan tâm.
+27

Phím tắt mặc định để hiển thị menu trong '^ 1' vì vậy tôi thường có thể nhấn'^1, c, enter' để hiển thị danh sách. –

+0

Điều này sẽ tìm tất cả Người gọi của phương thức và triển khai gốc. Có cách nào để tìm người gọi * chỉ * triển khai này không? –

+1

@DanielKaplan Tôi đoán là không, vì trong ít nhất một số trường hợp trình biên dịch sẽ không có bất kỳ cách nào để biết cài đặt nào sẽ được gọi. –

4

Đặt điểm chèn trong lời gọi hoặc khai báo phương thức và chọn Tìm> Tìm biểu tượng được chọn trong dự án. Đối với bộ chọn nhiều phần này sẽ chỉ làm nổi bật phần đầu tiên nhưng tìm kiếm dường như hoạt động tương đối đáng tin cậy. Bạn cũng có thể sử dụng Find Call Hierarchy để làm nổi bật toàn bộ dòng.

Mục menu ngữ cảnh tương ứng (Tìm biểu tượng được chọn trong không gian làm việc) cũng hoạt động, nhưng sẽ phức tạp hơn một chút để làm việc đúng cách. Đảm bảo không có văn bản nào được chọn nếu không, văn bản sẽ tìm kiếm từ đã chọn thay vì chọn toàn bộ bộ chọn. Để làm như vậy, bạn có thể nhấp bằng nút chuột trái trước khi nhấp bằng nút chuột phải (hoặc nhấp chuột Điều khiển) trong cùng một vị trí. Không có vấn đề như vậy với Phân cấp cuộc gọi Tìm theo ngữ cảnh.

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