2012-07-10 35 views
8

Có cách nào để PyCharm hiển thị vị trí của hàm Python đã cho không?pycharm tìm nơi hàm Python được gọi là

Hiện tại tôi chỉ dựa vào việc tìm kiếm tên hàm trên toàn bộ dự án và điều này thường hoạt động tốt, nhưng nếu tên hàm mơ hồ thì có rất nhiều lần truy cập không chính xác. Tôi tự hỏi nếu tôi thiếu một tính năng ở đâu đó, ví dụ: có lẽ kết quả tìm kiếm có thể được thu hẹp hơn nữa để chỉ hiển thị nơi mô-đun nhập mô-đun mà tôi đang tìm kiếm?

Trả lời

10

Trong PyCharm bạn có thể chọn chức năng và nhấn Alt + phím Shift +F7 để chạy một tìm kiếm sử dụng. Nó cũng có sẵn trong "Chỉnh sửa → Tìm → Tìm tập quán". Dường như nó thông minh hơn tìm kiếm văn bản.

Sử dụng phân tích tĩnh để tìm nơi hàm được gọi là khó nói chung bằng Python vì nó sử dụng liên kết động và có rất nhiều nội tâm do đó rất dễ bị lỗi giả. Trong trường hợp các hàm mức mô-đun, tôi nghĩ một giải pháp tốt là luôn sử dụng module.function để gọi hàm và không bao giờ thực hiện from module import function. Bằng cách đó bạn có thể thực hiện tìm kiếm văn bản cho 'module.function'. Hướng dẫn kiểu Python thường khuyên bạn nên nhập các hàm vv theo cách này vì vậy tôi nghĩ rằng điều này thường được chấp nhận là thực hành tốt.

Việc tìm kiếm cuộc gọi phương pháp tất nhiên sẽ khó hơn nhiều. Một trong những điều tôi thích về phát triển trong Java và C# là có thể tìm tất cả các tập quán của một phương thức bằng cách phân tích tĩnh.

+0

Điều đó có vẻ chính xác là tính năng tôi đang tìm kiếm, cảm ơn bạn. Tôi thường sử dụng 'import as' để làm cho không gian tên dễ quản lý hơn nhưng nhược điểm là việc tìm kiếm trở nên phức tạp hơn. –

+1

Trong các phiên bản tiếp theo của PyCharm, liên kết "Tìm tập quán" đã thay đổi thành ''. Vì một số lý do, nhưng chủ yếu chỉ vì. Nếu không, mục trình đơn này hiện đang ở "Chỉnh sửa → Tìm → Tìm tập quán". Tại sao các hoạt động "Tìm" chỉ đọc sẽ nằm trong trình đơn "Chỉnh sửa" cấp cao hơn là "Chế độ xem" hoặc "Điều hướng" là dự đoán tồi tệ nhất của bất kỳ ai. (_Tôi đã có nuthin '._) –

2

Nhấn phím Ctrl và đồng thời di chuột qua tiêu đề hàm. Tên hàm sẽ được tô sáng. Nhấp vào tên hàm để có danh sách tất cả các trường hợp mà hàm được gọi.

Nếu bạn nhấn phím Ctrl và đồng thời di chuột qua cuộc gọi chức năng, sau đó tên chức năng sẽ được tô sáng và nhấp vào nó sẽ đưa bạn đến định nghĩa hàm.

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