Python nhập tự động hoàn thành


7

Tôi đang cố gắng cấu hình vim để phát triển python. Ngay bây giờ tôi đang làm việc trên tính năng tự động hoàn thành mã. Tôi đang sử dụng plugin YouCompleteMe và có vẻ như nó hoạt động rất tốt nhưng chỉ khi tôi đã nhập mô-đun đã cho. Ví dụ: nếu tôi gõ

import datetime

và sau đó

datetime.

Tôi nhận được danh sách các lớp / mô-đun / hàm có sẵn, v.v. Điều tôi còn thiếu là khả năng nhận đề xuất mô-đun khi viết báo cáo nhập khẩu. Mô-đun Datetime dường như không đáng kể trong trường hợp này, vì vậy tôi sử dụng khung Django làm ví dụ. Tôi muốn đạt được một cái gì đó như thế này:

from django.

liệt kê tất cả các mô-đun trong django, tôi chọn một trong số chúng, ví dụ: lượt xem

from django.views.

liệt kê tất cả các mô-đun trong django.view, tôi chọn ví dụ chung chung

from django.views.generic import

Và sau đó tôi muốn tự động hoàn thành các lớp, hàm, biến có sẵn từ mô-đun này, vd

from django.views.generic import TemplateView

Bạn có bất cứ đề nghị làm thế nào điều này có thể đạt được?

Câu trả lời:


1

Tôi nhận ra điều này rất muộn nhưng tôi đã tìm thấy câu hỏi này rất lâu trước khi tôi bắt gặp câu trả lời nên tôi để nó ở đây. Bằng cách thêm phần sau vào tệp .vimrc của bạn, bạn có thể tải vào ảo python của bạn và sau đó đặt một vài cài đặt ycm.

" python with virtualenv support
py << EOF
import os
import sys
if 'VIRTUAL_ENV' in os.environ:
    project_base_dir = os.environ['VIRTUAL_ENV']
    activate_this = os.path.join(project_base_dir, 'bin/activate_this.py')
    execfile(activate_this, dict(__file__=activate_this))
EOF

let g:ycm_server_python_interpreter='python3'
let g:ycm_autoclose_preview_window_after_completion=1
map <leader>g :YcmCompleter GoToDefinitionElseDeclaration<CR>
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.