最近写Kivy的时候想补全,但是由于环境限制所以没有弄,今天我突然想到如果Kivy提供stubs的话不就可以实现了么,但是Kivy官方没有提供,只能自己想办法。
先说下我的系统环境,我是把Kivy部署在Linux虚拟机中,然后使用TotalCommander的SFTP插件远程连接,使用gVim来编辑,保存之后插件会自动上传,其实使用VSCode的SSH插件也是可以的。
截图:
补全可以使用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的博客
没有评论:
发表评论