代码之家  ›  专栏  ›  技术社区  ›  Bartel

QML依赖性/可重用性(静态代码)检查器

  •  4
  • Bartel  · 技术社区  · 8 年前

    为了编写可重用的QML代码,我正在寻找一个(静态代码)检查器,它可以检测不同QML文件之间不需要的依赖关系。

    举一个例子,其中B.qml依赖于A.qml的标识符:

    A、 qml

    Item {
        id: dependencyId
        ...
        delegate: B {}
    }
    

    B、 qml

    Item {
        id: delegateB
        ...
        text: dependencyId.text
    }
    

    由于B.qml的文本元素依赖于a.qml中的标识符,因此无法正确重用此代码。

    只要A.qml中项的id不变,此代码将编译/运行,因此不会注意到依赖关系。 我试过了 克姆林特 ,但这不会产生错误。

    是否有QML的静态代码检查器可以检查这一点?

    1 回复  |  直到 8 年前
        1
  •  2
  •   Community kfsone    7 年前

    在sourceDirectory中添加了一个自定义构建步骤,为每个*。qml文件,仅对“引用”错误进行过滤。

    谢谢 derM 有关使用qmlscene的提示。

    命令: 发现

    论据: -名称'*。qml'-exec qmlscene--退出{}\;2>&1 |grep-rnis“参考”

    工作目录: %{sourceDir}

    截图: enter image description here

    (需要2>1来解析stderr,这是显示错误消息的地方)