Pythonはオートコンプリートをインポートします


7

Python開発用にvimを構成しようとしています。現在、私はコードの自動補完機能に取り組んでいます。YouCompleteMeプラグインを使用していますが、うまく機能しているようですが、指定されたモジュールをすでにインポートしている場合のみです。たとえば、

import datetime

その後

datetime.

利用可能なクラス/モジュール/関数などのリストを取得します。欠けているのは、インポート文を記述するときにモジュールの提案を取得する可能性です。この場合、日時モジュールは取るに足らないように見えるので、例としてDjangoフレームワークを使用します。私はこのようなことを達成したいと思います:

from django.

django内のすべてのモジュールをリストします、私はそれらの1つを選択します、例えばビュー

from django.views.

django.views内のすべてのモジュールを一覧表示します。たとえば、genericを選択します

from django.views.generic import

そして、このモジュールから利用できるクラス、関数、変数のオートコンプリートを用意したいと思います。

from django.views.generic import TemplateView

これをどのように達成できるかについての提案はありますか?

回答:


1

私はこれが非常に遅いことに気づきましたが、答えに出くわすずっと前にこの質問を見つけたので、これをここに残します。以下を.vimrcファイルに追加することで、python virtualenvにロードして、いくつかの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>
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.