2011-10-10 36 views
23

Tôi có thể thực hiện việc này cho các chức năng hệ thống như const bằng cách chọn nó, nhấp chuột phải và chọn tìm kiếm (siêu dữ liệu). Điều tương tự cũng không hoạt động đối với các hàm do người dùng định nghĩa.Làm thế nào để 'đi đến định nghĩa' cho người dùng định nghĩa chức năng trong Leksah?

Bạn thực hiện tìm kiếm như thế nào?

Nếu không thể cho người dùng xác định chức năng, làm thế nào để bạn đọc một dự án Haskell đã tồn tại và nhảy giữa định nghĩa và lời gọi?

Vim + ctags chỉ hoạt động với các hàm do người dùng xác định và không mạnh bằng cscope cho nguồn c/C++.

+0

Bạn đã bao giờ tìm thấy giải pháp chưa? Hãy theo dõi và đăng nó nếu bạn tìm thấy một cái gì đó tốt hơn so với ack. – KobeJohn

+0

@kobejohn Không có giải pháp nào tốt hơn. – wenlong

+0

Bạn đã thử ack-grep chưa? – KobeJohn

Trả lời

0

Giải pháp này có thể hoàn toàn tắt vì tôi không sử dụng Haskell, nhưng ack-grep có phù hợp với bạn không? Tôi đã tìm thấy nó rất hữu ích cho việc lặn mã.

Tôi thấy trong the documentation rằng nó hỗ trợ haskell.

Tôi tin rằng bạn sẽ sử dụng: ack --haskell user_function

2

tôi đã cố gắng những gì bạn nói với hàm do người dùng định nghĩa và nó hoạt động tốt đối với tôi. Tôi chọn tên hàm, nhấp chuột phải, tìm kiếm (siêu dữ liệu) và nó xuất hiện trong tab tìm kiếm ở bên phải. Sau đó, tôi nhấp vào "đi đến định nghĩa" và nó sẽ đưa tôi đến định nghĩa. Có lẽ bạn nên thử khởi động lại Leksah? Tôi nhận thấy rằng đôi khi nó không nhận ra các chức năng ngay lập tức khi tôi viết chúng, nhưng nếu bạn khởi động lại nó, nó sẽ nhận ra chúng.

1

Bạn cần sử dụng 'Cập nhật dữ liệu không gian làm việc' trong menu 'Cấu hình' - Leksah không lập chỉ mục các hàm do người dùng tạo cho đến khi bạn thực hiện việc này (hoặc khởi động lại trình biên dịch). Phím tắt mặc định trong Windows là Ctrl + M.

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