QML dependency/reuseability(静态代码)检查器
QML dependency/reuseability (static code) checker
为了编写可重用的 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不变,这段代码就会compile/run,所以不会注意到依赖关系。
我尝试了 QmlLint,但这没有给出任何错误。
是否有 QML 的静态代码检查器可以检查这个?
在 sourceDirectory 运行 qmlscene 中为每个 *.qml 文件添加了自定义构建步骤,仅在 "reference" 错误时过滤结果。
感谢 关于使用 qmlscene 的提示。
命令: 查找
参数:。 -name '*.qml' -exec qmlscene --quit {} \; 2>&1 | grep -rnis 'reference'
工作目录: %{sourceDir}
截图:
(需要 2>&1 来解析 stderr,这是显示错误消息的地方)
为了编写可重用的 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不变,这段代码就会compile/run,所以不会注意到依赖关系。 我尝试了 QmlLint,但这没有给出任何错误。
是否有 QML 的静态代码检查器可以检查这个?
在 sourceDirectory 运行 qmlscene 中为每个 *.qml 文件添加了自定义构建步骤,仅在 "reference" 错误时过滤结果。
感谢
命令: 查找
参数:。 -name '*.qml' -exec qmlscene --quit {} \; 2>&1 | grep -rnis 'reference'
工作目录: %{sourceDir}
截图:
(需要 2>&1 来解析 stderr,这是显示错误消息的地方)