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

时间:2017-01-11 08:36:06

标签: qt dependencies qml qtquick2 reusability

为了编写可重用的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中Item的id不会改变,这段代码就会编译/运行,因此不会注意到依赖关系。 我尝试了 QmlLint ,但这没有错误。

是否有可用于QML的静态代码检查程序可以检查?

1 个答案:

答案 0 :(得分:2)

在每个* .qml文件中运行qmlscene的sourceDirectory中添加了一个自定义构建步骤,仅针对“引用”错误过滤结果。

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

命令:查找

参数:。 -name'* .qml'-exec qmlscene --quit {} \; 2>& 1 | grep -rnis'reference'

工作目录:%{sourceDir}

截图: enter image description here

(需要2& 1来解析stderr,这是显示错误消息的位置)

相关问题