Chr*_*ott 5 python vim rope vim-plugin
我曾经在这里和这里看到过类似的问题,但是它们已经有4年历史了,没有给出符合我要求的答案。
例如,如果我在Python中输入Python代码:
os.path.join('my', 'path')
resp = requests.get('http://example.com')
HttpResponse('success')
Run Code Online (Sandbox Code Playgroud)
假设我在site-packages文件夹中有第三方模块'requests'和'django',那么有没有Vim插件-不使用Rope库-可以自动将相关的import语句添加到Python中文件(无论对于内置和第三方模块,即使用import或from根据需要),如下所示:
import os
import requests
from django.http import HttpResponse
Run Code Online (Sandbox Code Playgroud)
传统上我会使用古老的Rope软件包,但我一直在用现代替代方法替换Rope函数,以避免.ropeproject文件夹的开销。但是,我还没有找到自动导入的Vim替代品。
我正在使用 python-imports.vim ( https://github.com/mgedmin/python-imports.vim )。与 gutentags 插件结合起来,它几乎是完美的。完美的解决方案将创建所有导入并在名称冲突的情况下神奇地猜测正确的模块,但我怀疑这是可能的。
2022-05-14 更新:另一种方法是将 Ale ( https://github.com/dense-analysis/ale ) 与 Pyright ( https://github.com/microsoft/pyright ) 和 :ALEImport 命令结合使用。