首页 > 解决方案 > 自动删除未使用的 QML 导入

问题描述

我正在使用一个相当大的 Qt/QML 代码库,并且我正在寻找检测和删除所有未使用的 QML 导入的方法。如何才能做到这一点?有没有办法让它自动化?

我相信删除未使用的 QML 导入是保持代码库清洁的好方法。此外,根据QML Coding Guidelines,它将提高加载性能:

在 QML 中导入需要时间。如果您正在为系统规格较低的设备进行开发,那么您将希望尽可能地进行优化。在这种情况下,尽量减少您在 QML 文件中使用的导入数量。

标签: qtqmlqt5qtquick2qt-quick

解决方案


将近两年后,我找到了一种传统的方法,由 Qt 通过他们的工具qmlLint提供:

您现在可以按类别禁用警告,例如默认情况下 qmllint 会通知您未使用的导入:

import QtQuick
import QtQuick3D // Info: DEM.qml:2:1: Unused
import at DEM.qml:2:1

Text {
    id: textElement
    text: "Hello world!"
    anchors.centerIn: parent
}

如果您愿意,您现在可以通过传递 --unused-imports disable 来禁止显示此信息。或者,您可以使用 --unused-imports 警告将此信息性消息转变为完整的警告。在这种情况下,与所有警告一​​样,未使用的导入警告将使 qmllint 返回退出代码 1 ;这将导致使用该工具的任何 CI 或预提交挂钩失败。有关警告类别的完整列表,请参阅 qmllint --help 的输出。

来源:https ://www.qt.io/blog/whats-new-in-qml-tooling-in-qt-6.2


推荐阅读