【问题标题】:How to make VSCode's autocomplete as powerful as PyCharm?如何让 VSCode 的自动完成功能和 PyCharm 一样强大?
【发布时间】:2020-09-27 09:47:52
【问题描述】:

问题

我喜欢 VSCode 的外观,但它的 Python 自动完成功能并不令人满意。 例如,当我导入numpyplotly.graph_objects 时,VSCode 无法推断出这些模块中的内容:

VSCode doesn't know the linspace fuction

VSCode has completely no idea what's in there and lists some nonmembers. Suggestion may vary from time to time.

虽然 PyCharm 在这两个模块上都做得很好:

PyCharm knows the linspace function

PyCharm lists the members correctly

我记得 VSCode 曾经和 PyCharm 一样出色,但我不知道为什么以及如何让 VSCode 再次强大。


VSCode 配置

Python 扩展设置:

{
    "python.jediEnabled": false, // I tried both true and false
    "python.analysis.memory.keepLibraryLocalVariables": true,
    "python.analysis.memory.keepLibraryAst": true
}

我等待 Python 扩展完全加载并在后台进行分析。我尝试启用和禁用 Visual Studio IntelliCode 扩展。

【问题讨论】:

    标签: python numpy visual-studio-code autocomplete pycharm


    【解决方案1】:

    如果您尝试了语言服务器和 VS Code 让您重新加载,那么您已经尝试了 Python 扩展中当前可用的选项。不过,我们正在积极努力使其变得更好,并希望很快能对此发表意见。

    但是,如果您迫不及待,可以尝试使用 https://marketplace.visualstudio.com/items?itemName=ms-pyright.pyright 之类的替代语言服务器。

    【讨论】:

    • 我已经启用了 pyright,但是自动补全对于某些 3rd 方库仍然不起作用(但我记得它曾经完美地工作过,我希望 VSCode 将来可以做得更好)。感谢您和您的团队的所有辛勤工作。将 VSCode 与 PyCharm 进行比较有点苛刻,因为后者是一个专门的 Python IDE。 VSCode 在大多数库上都做得很好。
    • 比较好。我们希望最终拥有比 PyCharm 更好的自动完成功能。 ?
    【解决方案2】:

    这可能是与 Pylance 相关的问题。默认情况下,Pylance 仅在根目录中查找模块。对设置进行一些调整以确保我在 VSCode 中导入的所有内容都可以像在 PyCharm 中导入一样工作。

    请看:

    https://stackoverflow.com/a/67099842/6381389

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-17
      • 2014-12-04
      • 2016-12-30
      • 2021-10-01
      相关资源
      最近更新 更多