【问题标题】:How to switch vscode to use pylance rather than jedi?如何切换 vscode 以使用 pylance 而不是 jedi?
【发布时间】:2023-02-10 19:16:35
【问题描述】:

我正在尝试使用 python 3.10 中的匹配/大小写,但 jedi 不支持语法。我听说 pylance 更好,但我找不到任何方法将 vscode 切换到 pylance。我已经下载了默认的 Python 扩展,但只有绝地语言服务器在运行。我怎样才能进行切换?

编辑:添加一张试图搜索“pylance”的图片,这样就不会混淆,它根本不存在。它似乎声称它是 python 扩展的一部分,但所使用的语言服务器始终是 jedi。

Python 扩展包:

【问题讨论】:

    标签: python visual-studio-code pylance jedi


    【解决方案1】:

    我使用的是 open source version of vscode,它没有所有扩展名。切换到专有版本(在 AUR 上可用)解决了我的问题。

    【讨论】:

    • pylance 是闭源的还是为什么会这样? aur 包看起来确实有点老套。难道没有另一种方法可以在 archlinux 上运行 pylance 吗?
    • 如果这本身不起作用,请尝试按照其他答案中的建议将 python.languageServer 设置更改为“Pylance”。
    【解决方案2】:

    更改设置:python.languageServer

    【讨论】:

    • 我收到消息“未安装 Pylance 扩展,但 python.languageServer 值设置为“Pylance[...]”。当我点击“下载 Pylance”时,vscode 什么都不做。如果相关,则 python 扩展有以下未捕获的异常:“扩展‘ms-python.python’不能使用 API 提案:testObserver。它的 package.json#enabledApiProposals-property 声明:但不是 testObserver。必须添加缺少的提案并且您必须以扩展开发模式启动或使用以下命令行开关:--enable-proposed-api ms-python.python"
    • 我的市场没有“Pylance”扩展名,只有括号中有 Pylance 的“Python”扩展名。我在 arch linux 上使用 code - oss version
    • 是的,该命令打开了市场搜索“ms-python.vscode-pylance”,并且只显示了相同的“Python”扩展。重新安装它没有任何作用。有谁知道我在第一条评论中发布的错误消息是什么意思?它来自同一个 python 扩展。
    • @Marcus Hagberg 这似乎是因为 Python 和 Pylance 扩展具有一点循环依赖性:Python 被声明为一个扩展包,其中包括 Pylance 并且 Pylance 具有对 Python 扩展声明的依赖性。对于第一条评论,我认为你可以参考这篇文章:github.com/microsoft/vscode-python/issues/16614
    • 我的 vscode 版本:1.65.2-1
    【解决方案3】:

    前往Settings > Extensions > Python,前往Language Server并将Default更改为Pylance。 此修复程序也适用于开源版本 VS Codium。它应该与您使用的 VScode 版本无关。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-12-14
      • 1970-01-01
      • 2022-12-01
      • 2011-12-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多