2017-01-04 42 views
5

Có thể thực hiện các phương thức lớp cơ sở hoàn chỉnh hoặc jedi.el hoặc anaconda-mode hoàn chỉnh không? Ví dụ, khi subclassing html.parser.HTMLParser tôi mong đợi nó để hoàn thành đoạn mã sau vào thời điểm (1) (lớp cơ sở có phương pháp như handle_data hoặc handle_starttag):Emacs: Hoàn thành các phương thức lớp cơ sở cho Python

import html.parser 
class MyParser(html.parser.HTMLParser): 
    def handle_ # (1) 
+0

Bạn có thể xem xét yêu cầu trên trang web [emacs.se]. (Nó không hoàn toàn không có chủ đề ở đây, vì bạn đang hỏi về các chế độ lập trình hơn là chỉnh sửa chung, nhưng nó có thể mở rộng nhóm chuyên gia có sẵn). –

Trả lời

2

tôi đã thực hiện một số nghiên cứu về vấn đề này và tôi đã phát hiện ra rằng nó được thực hiện trong phiên bản mới nhất của jedi (0.10.0). Thật không may, phiên bản này đang trong tình trạng phát triển ngay bây giờ và không có sẵn từ pip. Tuy nhiên, nhiều biên tập viên sử dụng 0.10.0: Atom, VsCode và thậm chí jedi-vim từ tác giả của jedi.

Dễ dàng cập nhật phiên bản jedi ở chế độ anaconda: https://github.com/nightuser/anaconda-mode. Sự thay đổi thực sự chỉ là một dòng. Phần Python của chế độ anaconda phải được cài đặt lại - chỉ cần xóa thư mục anaconda-mode. Vị trí mặc định là ~/.emacs.d/anaconda-mode cho Emacs và ~/.emacs.d/.cache/anaconda-mode cho Spacemac.

upd: Dường như 0.10.0 sẽ sớm được phát hành: https://github.com/davidhalter/jedi/issues/740.

upd2: Nó đã được phát hành và biết mọi thứ hoạt động ngoài hộp. Chỉ cần xóa anaconda-mode thư mục và nó sẽ tự động cài đặt phiên bản mới nhất.

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