小编Buz*_*uzz的帖子

CMakePresets.json 与 CMakeSettings.json 与 CMakeLists.txt

我用谷歌搜索了一下,但没有找到任何真正令人满意的东西。有很多关于如何使用它们的教程,但我很难理解一个最适合特定项目。

我不太清楚,对于他们每个人,我应该用来做什么。据我了解(这可能不正确),它们在某些功能上都有重叠,例如定义环境或 CMake 变量。

我通常的理解是 和CMakePresetsCMakeSettingsMicrosoft工具(也许工具不是正确的词,但我想不出更好的词),用于在 MS IDE(VS 和 VSCode)中集成 CMake 项目。他们如何应对CMakeLists以及各自的范围是什么?

cmake cmake-presets

11
推荐指数
2
解决办法
6160
查看次数

VSCode + Pylance:类属性已识别,但没有可用的自动完成功能

我最近在 VSCode 上安装了 Pylance 作为 python 语言服务器。我正在使用 PyQt5 构建一个应用程序。在有问题的脚本中,我继承了 pyqt5 uic 自动生成的 UI python 脚本。listProfiles是一个QListView生成的对象Ui_ProfileMainWindow

class ProfileMainWindow(QMainWindow, Ui_ProfileMainWindow):
    def __init__(self, model = None):
        super().__init__()
        self.setupUi(self)
        if model:
            self.listProfiles.setModel(model)
Run Code Online (Sandbox Code Playgroud)

Pylance 能够看到该listProfiles属性并将其识别为一个QListView对象:

在此输入图像描述

但没有为其提供自动完成功能:

在此输入图像描述

此外,当鼠标悬停时,会为其指出self.listProfiles一个通用类型:Any

在此输入图像描述

我实在搞不懂这是怎么回事。在想到错误之前,我想假设我已经搞砸了一些事情。

因为我已经和 Pylance 一起工作了一天,所以我想说这并不是在我安装语言服务器后就发生的,但我不确定这条信息,因为我正在处理剧本,也许,我只是没有意识到

代码中没有错误,因为应用程序运行并正常工作。

编辑1

问题通过交换继承类的顺序来解决:

class ProfileMainWindow(Ui_ProfileMainWindow,QMainWindow):
    def __init__(self, model = None):
        super().__init__()
        self.setupUi(self)
        if model:
            self.listProfiles.setModel(model)
Run Code Online (Sandbox Code Playgroud)

仍然无法弄清楚为什么以及发生了什么事。

python pyqt visual-studio-code pylance

5
推荐指数
0
解决办法
2635
查看次数