Jedi远程补全kivy库

最近写Kivy的时候想补全,但是由于环境限制所以没有弄,今天我突然想到如果Kivy提供stubs的话不就可以实现了么,但是Kivy官方没有提供,只能自己想办法。

先说下我的系统环境,我是把Kivy部署在Linux虚拟机中,然后使用TotalCommander的SFTP插件远程连接,使用gVim来编辑,保存之后插件会自动上传,其实使用VSCode的SSH插件也是可以的。

截图:

screenshot

补全可以使用jedi-vim插件,其实Jedi早在年初就已经开始实现stubs的支持,最近几个月已经合并到主分支并发布新版了,生成pyi文件使用Python官方mypy库中附带的一款工具stubgen,可以对用C编写的Python模块以及单个py文件或者整个py文件目录做生成。

$ pip install mypy
$ git clone https://github.com/kivy/kivy
$ cd kivy/kivy
$ stubgen -p kivy

之后将outs目录改名复制到jedi-vim/pythonx/jedi/third_party/typeshed/third_party/3/中即可正常补全。

当然这样补全有一定缺陷,比如只能补全当前文件的代码,无法补全其他文件中的代码,其实是可以使用samba将代码目录共享之后再使用gVim编写就可以补全整个项目的代码了。

Kivy文档:

https://muxuezi.github.io/categories/kivy.html
https://cycleuser.gitbooks.io/kivy-guide-chinese/content/

参考:

https://mypy.readthedocs.io/en/latest/stubgen.html

转载请注明: 本文《Jedi远程补全kivy库》来源于bstaint的博客

没有评论: