Python için bağımsız değişken tamamlama


9

Python için argüman tamamlamanın bir yolu var mı?

Şu anda ctags, python-modu ve YouCompleteMe bir arada kullanıyorum, ancak bir işlevin bağımsız değişkenlerini otomatik olarak tamamlamak için bir işlevi eksik (ya da en azından göstermek).

Bunu destekleyen bir eklenti var mı?

Vim / gvim 7.4 ve Ubuntu 14.04 kullanıyorum

Yanıtlar:


10

Varsayılan olarak, (minimum vimrc ve yüklü eklenti olmadan), bu zaten mümkündür.

Vim, birden fazla dosya türü eklentisiyle birlikte gönderilir ve bu eklentilerin bazıları, kutudan çıkar çıkmaz her şeyi tamamlar. Örneğin, python pythoncomplete.vim ile birlikte gelir.

Vim ile birlikte gelen varsayılan pythoncomplete.vim dosyasını kullanırsanız (örneğin, YouCompleteMe yok, python modu yok, jedi-vim yok), bir işlevi tamamladığınızda anahtar kelime bağımsız değişkenlerini gösteren bir önizleme penceresi alırsınız.

Tek ihtiyacınız olan Vim +pythonözellikli ( :echo has('python')şov 1). Bunu yaparsanız, vimrc'nizle varsayılan python omni-tamamlamayı etkinleştirmek için gereken tek şey budur:

filetype plugin indent on

Python (jedi, python-mode) için diğer birçok tamamlama çözümünü avladıktan sonra, Vim ile çok daha fazla gönderilen pythoncomplete.vim'i sevdim. Bu basit ve benim için en önemlisi, özellikle jedi-vim / python-mode ve YouCompleteMe gibi çözümlere kıyasla çok kararlı.

Varsayılan çözüm böyle görünür. Bağımsız değişkenlerin tamamlanmasını önermez, ancak yalnızca önizleme penceresinde gösterir, böylece anahtar kelime bağımsız değişkenlerini şu şekilde doldurmanız kolaydır:

resim açıklamasını buraya girin


2
@ lcd047: Bu soruya ne şekilde cevap vermiyor? Soru "bir işlevin argümanlarını otomatik olarak tamamlamak (veya en azından göstermek) için bir çözüm bulmaktı. Bir fonksiyonun argümanlarını gösterecek bir çözüm önerdim. Sen argümanların tamamlanmasını teklif ettin, ben de onların gösterilmesini önerdim Soru soran kişi tercihini seçebilir. Sorunu burada görmüyorum.
akshay

Bu eklenti hakkında daha fazla bilgi bulmak istiyorum. Nasıl kullanıyorsun? Bunun için ctags'a ihtiyacım var mı?
Neaţu Ovidiu Gabriel

@ NeaţuOvidiuGabriel: Bu eklenti Vim'de yerleşiktir, cevabımın size söylediklerinden başka bir şeye ihtiyacınız yok.
akshay
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.