VSCode的Python自动导入扩展

Sou*_*aik 17 python visual-studio-code auto-import

是否有可用于Visual Studio Code的Python自动导入扩展/插件?

通过自动导入我的意思是,自动导入python模块.Eclipse和Intellij在Java中具有此功能.

Bre*_*gin 24

(截至 2023 年 8 月更新答案)

这些为我做到了:

  "python.analysis.indexing": true,
  "python.analysis.autoImportCompletions": true,
Run Code Online (Sandbox Code Playgroud)

如果这导致计算机速度减慢太多,因为它索引了太多文件,那么请考虑使用"python.analysis.packageIndexDepths"或 使用来指定要包含在索引中的目录模式和深度"python.analysis.exclude"

请注意,我使用的是 Pylance(目前是默认值,截至 2023 年 1 月)。

查看VSCode python 设置参考以获取有关每个设置的更多信息。

2023 年 8 月编辑:删除,"python.analysis.autoImportUserSymbols"因为 @YellowStrawHatter 指出不再存在。

  • `python.analysis.autoImportUserSymbols` 不再存在(您将收到一条信息消息:未知的配置设置) (2认同)

Eya*_*vin 15

VSCode 团队最近发布了Pylance

特征

  • 文档字符串
  • 签名帮助,带有类型信息
  • 参数建议
  • 代码补全
  • 自动导入(以及添加和删除导入代码操作)
  • 代码错误和警告的即时报告(诊断)
  • 代码大纲
  • 代码导航
  • 代码镜头(参​​考/实现)
  • 类型检查模式
  • 本机多根工作区支持
  • IntelliCode 兼容性
  • Jupyter 笔记本兼容性

  • 那么如何使用 Pylance 进行自动导入呢?我找不到它 (4认同)
  • Pylance 是专有的,而不是开源的,这是微软的另一个骗局。所以不要尝试做广告。对此投反对票。 (4认同)
  • 是的,Pylance 自动导入有效,您只需在设置中启用它们: python.analysis.autoImportCompletions 用于控制补全中自动导入的提供。接受的值: true false(默认) (3认同)
  • 请注意,Pylance 是[闭源的,Microsoft Python 语言服务器将被弃用,取而代之的是 Pylance](https://devblogs.microsoft.com/python/announcing-pylance-fast-feature-rich-language-support- for-python-in-visual-studio-code/)。看起来微软又开始玩“拥抱延伸消灭”的好游戏了。:( (2认同)

Zac*_*ith 9

不,但它很快将成为vscode-python的一部分:https://github.com/Microsoft/vscode-python/pull/636

编辑:查看@Eric的答案,他建立了这样的扩展.

  • 推迟:https://github.com/Microsoft/vscode-python/pull/636#issuecomment-424894985 (4认同)

Eri*_*ric 7

我建立了一个支持Python的自动导入扩展。它使您可以完全自定义导入如何写入文件,修改导入路径,名称以及相对于其他导入的排序。Python插件甚至允许您将导入与额外的换行符一起“分组”。

  • 截至 2021/08 扩展已中断 (4认同)

Eya*_*vin 6

来自https://github.com/microsoft/python-language-server/issues/19#issuecomment-587303061

对于那些像我一样想知道如何触发自动导入的人,这里是步骤。

  1. 通过删除设置中的选中来启用 Microsoft Python 语言服务器 Python: Jedi Enabled
  2. 重新加载 VSCode 窗口。
  3. 将鼠标悬停在要导入的变量上,然后单击Quick fix...

最后一步,如果显示No quick fixes availableChecking for quick fixes,则可能需要等待一段时间,直到扩展程序完成代码分析。还可以设置触发快速修复的快捷方式。