Details
-
Task
-
Resolution: Unresolved
-
P2: Important
-
6.7
-
None
-
50516589e (dev), b6cf7841c (dev), 2ebd27dba (dev), 74ea9abb0 (dev), 542605308 (dev)
Description
Currently, the user needs to build its QML modules for qmlls to provide any helpful insights. This is bad because a new qmlls user that uses it for the first time will have a very bad first impression of qmlls, as it will not be able to do anything.
Also, currently, if the user changes its QML component defined in C++, the qmlls will not know about any added/removed/changed property or new classes.
Therefore, it was proposed that qmlls should be able to trigger the rebuild of the "autogen" (that generates the qmltypes, qmldir and qrc files) so that the user always get up-to-date linting warnings and completions items.
The "easy" way of doing it would be to:
- create a cmake target that can regenerate the qmltypes, qmldir and qrc files (that is faster than rebuilding the entire project of the user)
- Trigger this cmake target from qmlls automatically/without the user needing to do it:
- when no qmldir nor qmltypes was found (e.g. when opening a newly created QML project that was never built yet)
- when a C++ file defining QML components was changed (e.g. a property was added/changed/removed)
Attachments
Issue Links
- is required for
-
QTBUG-97637 QML Language Server Support for IDEs (like VSCode, QtC)
- In Progress
-
QTCREATORBUG-29826 Qt Creator editor shows QML Module not found even though qt_add_qml_module is working and the app works
- Closed
-
QTBUG-119964 New QML LSP features (6.8)
- In Progress
- resulted in
-
QTBUG-126576 qmlls: automatic qmltypes generation is slowing completions and highlighting down
- Closed
Gerrit Reviews
For Gerrit Dashboard: QTBUG-118705 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
518319,5 | qmlls: set the root uris of qqmlcodemodel | dev | qt/qtdeclarative | Status: MERGED | +2 | 0 |
518320,17 | qmlls: rebuild when modifying QML elements in C++ for CMake projects | dev | qt/qtdeclarative | Status: MERGED | +2 | 0 |
518591,5 | WIP: qmlls: rebuild when build folder is empty | dev | qt/qtdeclarative | Status: ABANDONED | -2 | 0 |
518682,10 | qmlls: add manual test for automatic qmlls cmake type registration | dev | qt/qtdeclarative | Status: MERGED | +2 | 0 |
518713,8 | qqmllsutils: add CMake build command | dev | qt/qtdeclarative | Status: MERGED | +2 | 0 |
518714,7 | make tst_qmlls_qqmlcodemodel a QQmlDataTest | dev | qt/qtdeclarative | Status: MERGED | +2 | 0 |
519386,1 | WIP: qmlls: rebuild if build was cleaned | dev | qt/qtdeclarative | Status: ABANDONED | -2 | 0 |