【问题标题】:Using del operator removes list intellisense in vscode使用 del 运算符删除 vscode 中的列表智能感知
【发布时间】:2021-06-12 07:42:42
【问题描述】:

我注意到在 vscode 中用 python 定义列表时,我得到了预期的类型和方法 intellisense,如下所示:

但是在列表中使用del运算符后,智能感知似乎消失了:

我没有注意到其他列表方法(popinsert 等)。这是 vscode 中的 python 错误,还是 del 运算符从根本上改变了列表,导致 vscode 不再提供智能感知?

我在 OSX Cataline 10.15.6 上使用 VSCode 1.53.2,官方 microsoft python vscode extension,版本 2021.2.636928669。

【问题讨论】:

    标签: python visual-studio-code intellisense del


    【解决方案1】:

    解决方案:VS Code默认使用的“Python”语言服务是“Jedi”。它的“智能”在这里受到影响。因此,请使用“Microsoft”或“Pylance”语言服务。 "python.languageServer": "Pylance","python.languageServer": "Microsoft",

    我在VS Code中测试的结果表明,无论是否使用“del”,都可以使用“intellisense”:

    没有“del”:

    使用“del”:

    由于VS Code中python的“intellisense”功能是由Python扩展提供的,建议重新安装。如果还是不行,请尝试禁用其他VS Code extensions that are not in use,以免相互影响。 (请点击“Enable”恢复被禁用的扩展,它将恢复以前的使用。)

    参考:IntelliSense for python in VS Code

    【讨论】:

    • 目前我主要是一名打字稿开发人员,并且我有一些我真正需要的扩展。我不知道涉及禁用所有其他扩展的解决方案是否真的是一个不错的选择......但感谢您的时间和周到的回复
    • @Seth Lutske - 是的,通常 VS Code 中的扩展可以很好地一起使用,但有时有些扩展会相互影响。所以禁用其他扩展只是一个建议,我修改了我的表达方式。这个问题解决了吗?
    • 不幸的是,这对我不起作用。我禁用了除 python 和 jupyter 之外的所有扩展,重新加载了 vscode,但没有任何变化
    • 哇...我无法告诉你我有多后悔禁用所有扩展。即使我只为我正在工作的工作区做了它,并且我通过一一重新启用扩展来扭转它,它似乎已经破坏了我所有工作区中的 git gutter 突出显示以及我更漂亮的自动格式化。真是头疼。
    • @Seth Lutske - 请“启用”您需要的扩展,VS Code 的使用将恢复。语言服务除了使用“Python”扩展和“Jupyter”扩展外,还需要使用“Microsoft”或“Pylance”,VS Code默认使用的语言服务是“Jedi”,这里是“intellisense”受到影响。
    最近更新 更多