首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于自动生成Python导入语句的Vim插件(不使用Rope)

用于自动生成Python导入语句的Vim插件(不使用Rope)
EN

Stack Overflow用户
提问于 2015-04-11 16:36:21
回答 3查看 4.3K关注 0票数 7

我在这里这里之前见过类似的问题,但是他们4岁,没有给出符合我要求的答案。

例如,如果我在Vim中输入Python代码:

代码语言:javascript
复制
os.path.join('my', 'path')
resp = requests.get('http://example.com')
HttpResponse('success')

假设我的站点“packages”文件夹中有第三方模块“requests”和“django”,那么是否有任何Vim插件--它不使用Rope库--可以自动将相关的导入语句添加到Python文件中(包括内置和第三方模块,根据需要使用importfrom ),如下所示:

代码语言:javascript
复制
import os
import requests
from django.http import HttpResponse

虽然我传统上会使用古老的Rope包,但为了避免.ropeproject文件夹的开销,我一直在用现代的替代方法替换Rope函数。然而,我还没有找到汽车进口的Vim替代方案。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-10-16 19:19:06

我正在使用python s.vim (https://github.com/mgedmin/python-imports.vim)。将其与gutentags相结合,它几乎是完美的。完美的解决方案将创建所有导入,并在名称冲突的情况下神奇地猜测正确的模块,但我怀疑这是可能的。

更新2022-05-14:另一种方法是在pyright (https://github.com/dense-analysis/ale)和:ALEImport命令中使用Ale (https://github.com/microsoft/pyright)。

票数 3
EN

Stack Overflow用户

发布于 2015-04-11 18:12:17

看看鼓膜。从它的描述,它做的是你想要的。

注意,它需要焦薄片

票数 1
EN

Stack Overflow用户

发布于 2022-03-15 17:25:49

晚会很晚了,但既然有这个问题,我还是给你一个新的答案吧。

对于这种性质的一切,我都使用coc-python

就像魔法一样:

唯一的警告是,您必须按Ctrl-y来接受自动导入建议。

确保您没有在插入模式下将Ctrl-y映射到其他任何东西(例如,一个名为Emmet映射的通用插件)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29580323

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档