解决在 VS Code 中无法自动导入 QApplication 类的问题

起因

在尝试使用 VS Code 来开发 PySide6 应用时,发现输入下面的代码时,没有触发 Pylance 的自动导入功能。

app = QApplication()

我期望的:

# 自动导入
from PySide6.QtWidgets import QApplication

结果:什么都没有发生

解决方法

这个问题其实已经有人向 Pylance 扩展的开发者反馈了,具体链接如下:

https://github.com/microsoft/pylance-release/issues/2533

大概的意思是,Pylance 默认只会搜索第一层的模块,例如:

import sys

而像下面这样的则找不到:

from PySide6.QtWidgets import QApplication

解决方法就是,在 settings.json 文件中,添加下面的配置项:

"python.analysis.packageIndexDepths": [
    {
        "name": "PySide6",
        "depth": 2
    }
]

这样 Pylance 就会去搜索 PySide6 模块的子模块。如果你希望这个效果可以作用于所有模块,那么可以这么修改:

"python.analysis.packageIndexDepths": [
    {
        "name": "",
        "depth": 2
    }
]
posted @ 2024-03-30 11:03  一鹿顺风117  阅读(49)  评论(0编辑  收藏  举报