Details
-
Task
-
Resolution: Fixed
-
P2: Important
-
None
-
None
-
0232b45ce (dev), d6443b601 (dev)
Description
Now that the Dom contains semantic information via the QQmlJSScopes, improve the code completion to use it.
E.g., when completing some field member access like "someId.property1.property2", use the semantic scope to know which type is currently used and which properties are actually available in this type.
Attachments
Issue Links
- covers
-
QTBUG-118025 qmllsp: Issues with completion in VS 2022
- Closed
-
QTCREATORBUG-28788 Randomly missing QML components
- Closed
- depends on
-
QTBUG-119842 qmlls: crash when autocompleting return statements
- Closed
-
QTBUG-119839 qmlls: invalid completions after dots
- Closed
-
QTBUG-120100 qmlls: completion inserts colons in bindings
- Closed
-
QTBUG-120102 qmlls: completion mismatch for qualified expressions
- Closed
-
QTBUG-120111 qmlls: missing completion for qualified types
- Closed
-
QTBUG-120137 qmlls: completion inserts extra semicolon in for loops
- Closed
-
QTBUG-119237 Let parser handle incomplete documents
- Reported
-
QTBUG-92876 Dom: model JS expressions/statements in QmlDom and add qmlls (find usages, go to definition, ...) support for them
- Closed
-
QTBUG-117442 qmlls: completion for attached + grouped properties
- Closed
-
QTBUG-119803 qmlls: completion for JS methods/lambdas
- Closed
-
QTBUG-119969 qmlls: snippets completion for Quick
- Closed
-
QTBUG-120250 qmlls: Snippet completion for bindings
- Reported
- is required for
-
QTBUG-97637 QML Language Server Support for IDEs (like VSCode, QtC)
- In Progress
- relates to
-
QTCREATORBUG-30056 QML snippets don't work when Language Server is enabled
- Closed
-
QTBUG-100083 LSP: completion using all js and compiler information
- Closed
- replaces
-
QTBUG-103765 Add qmlls completions test cases
- Closed
- resulted in
-
QTBUG-120484 qmlls: formatting removes some comments
- Closed
-
QTBUG-120677 tst_qmlls_utils: adapt tests to changes in qmlls
- Closed
- split to
-
QTBUG-92876 Dom: model JS expressions/statements in QmlDom and add qmlls (find usages, go to definition, ...) support for them
- Closed
Gerrit Reviews
For Gerrit Dashboard: QTBUG-113727 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
502750,4 | qmlls: move completion support to QQmlLSUtils | dev | qt/qtdeclarative | Status: MERGED | +2 | 0 |
503134,17 | qmlls: autocomplete scriptexpressions | dev | qt/qtdeclarative | Status: MERGED | +2 | 0 |
504284,3 | qmlls: improve completions | dev | qt/qtdeclarative | Status: ABANDONED | 0 | 0 |
504343,10 | qmlls: add completion for pragmas | dev | qt/qtdeclarative | Status: MERGED | +2 | 0 |
504563,3 | qmlls: fix DomItem::filterUp and DomItem::rootQmlObject | dev | qt/qtdeclarative | Status: MERGED | +2 | 0 |
504564,23 | qmlls: singletons, attached types and enums completion preparation | dev | qt/qtdeclarative | Status: MERGED | +2 | 0 |
506990,14 | qmlls: autocompletion for singletons, attached types, enums | dev | qt/qtdeclarative | Status: MERGED | +2 | 0 |
507228,3 | Make LocalSymbolsType enum values independent | dev | qt/qtdeclarative | Status: MERGED | +2 | 0 |
507229,4 | qmlls: fix the test for block-scoped variable completion | dev | qt/qtdeclarative | Status: MERGED | +2 | 0 |
507367,10 | qmlls: autocomplete more keywords | dev | qt/qtdeclarative | Status: MERGED | +2 | 0 |
507368,5 | qmllsutils: use static_cast<int>() instead of functional int() | dev | qt/qtdeclarative | Status: ABANDONED | 0 | 0 |
507457,9 | qmlls: do not autocomplete property definition name | dev | qt/qtdeclarative | Status: MERGED | +2 | 0 |
507914,6 | qmlls: completion of property attributes | dev | qt/qtdeclarative | Status: MERGED | +2 | 0 |
507944,6 | qmlls: autocomplete support for the JS global object | dev | qt/qtdeclarative | Status: MERGED | +2 | 0 |
509233,16 | qmlls: implement completion in JS for statement + test snippets | dev | qt/qtdeclarative | Status: MERGED | +2 | 0 |
515366,3 | dom: allow script elements to have file location regions | dev | qt/qtdeclarative | Status: MERGED | +2 | 0 |
515367,4 | qqmllsutils::completions: extract into multiple methods | dev | qt/qtdeclarative | Status: MERGED | +2 | 0 |
515368,8 | qmlls: code snippets for JS statement completions | dev | qt/qtdeclarative | Status: MERGED | +2 | 0 |
515369,6 | qmlls: propose QML code snippets inside a Qml Object | dev | qt/qtdeclarative | Status: MERGED | +2 | 0 |
515926,9 | qmlls: implement completion in JS block statement | dev | qt/qtdeclarative | Status: MERGED | +2 | 0 |
516045,7 | add missing completion in suggestJSStatementCompletion | dev | qt/qtdeclarative | Status: MERGED | +2 | 0 |
516046,8 | qmlls: completions on expressions | dev | qt/qtdeclarative | Status: MERGED | +2 | 0 |
516102,5 | qmlls: auto completion for inside if statements | dev | qt/qtdeclarative | Status: MERGED | +2 | 0 |
516103,5 | qmlls: auto completion for inside return statements | dev | qt/qtdeclarative | Status: MERGED | +2 | 0 |
516104,5 | fix mismatch in QQmlLSUtils::completions | dev | qt/qtdeclarative | Status: MERGED | +2 | 0 |
516105,5 | qmlls: auto completion for inside while statements | dev | qt/qtdeclarative | Status: MERGED | +2 | 0 |
516106,6 | qmlls: auto completion for inside do while statements | dev | qt/qtdeclarative | Status: MERGED | +2 | 0 |
516107,6 | qmlls: auto completion for inside for each statements | dev | qt/qtdeclarative | Status: MERGED | +2 | 0 |
516321,4 | disable completions for non-implemented types | dev | qt/qtdeclarative | Status: MERGED | +2 | 0 |
516429,2 | tst_qmlls_modules::buildDir: stop testing unrelated completions | dev | qt/qtdeclarative | Status: MERGED | +2 | 0 |
516597,2 | qqmllsutils: add explanation for betweenLocation's special cases | dev | qt/qtdeclarative | Status: MERGED | +2 | 0 |
517513,2 | tst_qmlls_utils::completions: fix typo in row name | dev | qt/qtdeclarative | Status: MERGED | +2 | 0 |
517514,2 | qmlls: fix completions on qualified identifiers | dev | qt/qtdeclarative | Status: MERGED | +2 | 0 |
520284,5 | qmldom: add support for try catch statements | dev | qt/qtdeclarative | Status: MERGED | +2 | 0 |
520285,6 | qmlls: suppress completions for try-catch statements | dev | qt/qtdeclarative | Status: MERGED | +2 | 0 |
521001,9 | qmlls: completions in switch/case/default statements | dev | qt/qtdeclarative | Status: MERGED | +2 | 0 |
522215,7 | qmlls: completions in variable declarations | dev | qt/qtdeclarative | Status: MERGED | +2 | 0 |
522572,6 | qmlls: completions in throw statements | dev | qt/qtdeclarative | Status: MERGED | +2 | 0 |
522977,5 | qmldom: add support for continue and break statement representations | dev | qt/qtdeclarative | Status: MERGED | +2 | 0 |
522979,7 | qmlls: implement completions for labelled statements | dev | qt/qtdeclarative | Status: MERGED | +2 | 0 |
522980,7 | qmlls: continue and break statement completion | dev | qt/qtdeclarative | Status: MERGED | +2 | 0 |
522981,12 | qmlls: suggest break and continue only where actually allowed | dev | qt/qtdeclarative | Status: MERGED | +2 | 0 |
523042,12 | qmlls: fix method body and statement completion | dev | qt/qtdeclarative | Status: MERGED | +2 | 0 |
523366,6 | qmlls: completions for comma expressions | dev | qt/qtdeclarative | Status: MERGED | +2 | 0 |
523367,7 | qmlls: support completions in conditional expressions | dev | qt/qtdeclarative | Status: MERGED | +2 | 0 |
523377,9 | dom: add representation for unary expressions | dev | qt/qtdeclarative | Status: MERGED | +2 | 0 |
523524,9 | qmlls: unary expression support for completion | dev | qt/qtdeclarative | Status: MERGED | +2 | 0 |
527178,13 | qmlls: remove redundant snippets from completion | dev | qt/qtdeclarative | Status: MERGED | +2 | 0 |
527229,12 | qmlls: suggest null/false/true literals in completions | dev | qt/qtdeclarative | Status: MERGED | +2 | 0 |
527234,13 | qmlls: support nested expressions in completion | dev | qt/qtdeclarative | Status: MERGED | +2 | 0 |
531084,3 | qmlls: remove redundant snippets from completion | 6.7 | qt/qtdeclarative | Status: MERGED | +2 | 0 |
531086,4 | qmlls: support nested expressions in completion | 6.7 | qt/qtdeclarative | Status: MERGED | +2 | 0 |
531088,3 | qmlls: suggest null/false/true literals in completions | 6.7 | qt/qtdeclarative | Status: MERGED | +2 | 0 |