有可用于 VSCode 的 Python 自动导入扩展/插件吗?
我所说的自动导入是指自动导入Python模块。 Eclipse 和 Intellij 具有 Java 的此功能。
VSCode 团队最近发布了 Pylance
特点
- 文档字符串
- 签名帮助,带有类型信息
- 参数建议
- 代码完成
- 自动导入(以及添加和删除导入代码操作)
- 键入时报告代码错误和警告(诊断)
- 代码概要
- 代码导航
- 代码镜头(参考/实现)
- 类型检查模式
- 本机多根工作区支持
- IntelliCode 兼容性
- Jupyter 笔记本兼容性
不,但它很快就会成为 vscode-python 的一部分:https://github.com/Microsoft/vscode-python/pull/636
编辑:请参阅@Eric 的回答,他构建了这样的扩展。
编辑2:参见@Eyal Levin的回答,提到了这样的扩展(Pylance)。
(截至 2023 年 8 月更新答案)
这些为我做到了:
"python.analysis.indexing": true,
"python.analysis.autoImportCompletions": true,
如果由于索引太多文件而导致计算机速度过慢,请考虑使用
"python.analysis.packageIndexDepths"
或使用 "python.analysis.exclude"
指定要包含在索引中的目录模式和深度。
请注意,我正在使用 Pylance(目前是默认值,截至 2023 年 1 月)。
查看 VSCode python 设置参考,了解有关每个设置的更多信息。
编辑 2023 年 8 月:删除
"python.analysis.autoImportUserSymbols"
,因为 @YellowStrawHatter 指出它不再存在。
我已经构建了支持Python的自动导入扩展。它允许您完全自定义导入写入文件的方式、修改导入路径、名称、相对于其他导入的排序。 Python 插件甚至可以让您将导入与额外的换行符“分组”。
来自https://github.com/microsoft/python-language-server/issues/19#issuecomment-587303061:
对于那些像我一样想知道如何触发自动导入的人,这里有 步骤。
- 通过删除选中来启用 Microsoft Python Language Server
在您的设置中。Python: Jedi Enabled
- 重新加载 VSCode 窗口。
- 将鼠标悬停在要导入的变量上,然后单击
Quick fix...
最后一步,如果显示
或No quick fixes available
,您可能需要等待一段时间 扩展已完成代码分析。还可以设置一个 触发快速修复的快捷方式。Checking for quick fixes
这在官方 Microsoft python 扩展中得到支持,但由于某种原因,我发现它最近被禁用或不再默认。我必须切换的设置是
"python.analysis.autoImportCompletions": true,
您可以在 VSCode 扩展商店中找到它。它的名字是IMPORTMAGIC。它的效果非常棒。它将包括您在脚本中使用的所有模块。
它有代码操作 ctrl + . ,它也将导入库。
您可以将下面的设置(true)设置为
settings.json
以进行自动导入。 *安装Python扩展时自动安装的Pylance扩展具有以下设置(true),默认情况下为false
,您可以看到我的答案解释如何打开settings.json
:
// "settings.json"
{
...
"python.analysis.autoImportCompletions": true
}
然后,它会显示所有匹配的属性和模块,如下所示:
然后按Enter即可自动导入您选择的内容,如下图:
此外,如果您没有将下面的设置(true)设置为
settings.json
进行自动导入:
// "settings.json"
{
...
// "python.analysis.autoImportCompletions": true
}
然后,就只显示如下:
如果您希望从脚本或子脚本自动导入和自动下载缺少的模块,您可能会发现这个基于Python的模块很有用。不仅适用于 VSCode,还适用于任何 IDE 或编辑器。