| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
| |
Change-Id: I6c1d6870d56edabd13660821b3525bb6c51dea0c
Reviewed-by: Orkun Tokdemir <orkun.tokdemir@qt.io>
|
|
|
|
|
|
|
|
|
| |
* Move `fetchWithAbort()` to `qt-lib`
* Add progress bar option to `fetchAssetAndDecide()`
* Use `fetchWithAbort()` instead of `fetch()` in `fetchAssetAndDecide()`
Change-Id: Ifd054d96427a89c9e24ac130a7362afe014ee8de
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
* Introduce `fetchWithAbort()` to handle fetch requests
* Fix broken cancel button in online docs
* Remove duplicate code
* Add logger to online-docs.ts
Change-Id: I8a839c01c150d57525193a2355ed834a8e1e92ad
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
|
|
|
|
|
|
|
|
|
| |
* Update package.json
* Add `qt-cpp.doNotAskForCMakePath`
Fixes: VSCODEEXT-102
Change-Id: Ia31715e40a4e0abc0aa42c9ef3d76033786fcbea
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
|
|
|
|
|
|
|
|
| |
When a higher version of an extension is already installed, the
extension installation fails. So, use the force flag to install.
Change-Id: I7e00b11b31cf129d081e4451e3138e068e82f630
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
|
|
|
|
|
|
|
| |
Amends f6b80894533915ac70656058c9155960fc99a0c9
Change-Id: I543865c9f54396fc1c1816e0186787b46646fe47
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Remove the global qmlls usage
* Start qmlls instance for each project
* Use configuration per project instead of global configuration
* Use `workspaceFolder` scope for qmlls configuration
* Implement `QMLProjectManager`
- When a new version of the QML language server is available, restart
all qmlls instances.
* Prepare codebase for `qmlls` cli parameters per project
Change-Id: If4bbd7f99da5ebd054a550419afa985bd65b2f3f
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
|
|
|
|
|
|
|
|
|
| |
When `watchProjects()` is called in both `ProjectManager`s and
derived classes constructors, `onDidChangeWorkspaceFolders()` is called
twice for the same event. This causes a project to be added twice.
Change-Id: I9c026ea3865afb556e372dfc672d84caad1371f0
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
When we don't filter out non-built-in values from kit `PATH` environment
variable, we copy some unnecessary values like `ARCH`,
`MSVC_MAJOR_VERSION`. So, we need to filter out non-qtpaths values from
kit `PATH` environment variable.
Change-Id: I99e4c3d6a76f7a9f3de973c0bab579ad7eab615c
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
* Send events when commands are executed
* Add https://www.npmjs.com/package/@vscode/extension-telemetry
* Update ThirdPartyNotices.txt
Task-number: VSCODEEXT-62
Change-Id: I7c88b0db55fa14da6d66025e7fa4458726f5ce6b
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
Before this commit, the `generate_licenses.ts` script was using `\n`
line endings for all platforms. This commit changes the code to use the
native line endings for each platform. Othwerwise, comparing generated
licenses fails on Windows.
Change-Id: Ic7022805c4ec04ffdcb8a7480df7b7543df70d4d
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
|
|
|
|
|
|
|
|
|
| |
Instead of sorting `*.vsix` files by their versions, we can simply
install the one that matches the extension version. This is a more
reliable way to install the correct extension version.
Change-Id: I0b499dd4222db93378afcff0ac584b63626a6084
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
|
|
|
|
|
|
|
|
|
| |
Since `qpaPlatformPluginPath` is a environment variable, it should be
renamed to `QT_QPA_PLATFORM_PLUGIN_PATH` to match other environment
variables.
Change-Id: Iff9e6ad003874a3ad64b56aa635eb2fed6dcb06e
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
* Use `getQtInsRoot()` instead of `VSCODE_QT_INSTALLATION` everywhere to
also include `VSCODE_QT_FOLDER` for backward compatibility.
* Use `IsQtKit()` instead of checking environment variables directly.
Change-Id: I14cc01915c7682190130b5cf0c14b96c6fe70a36
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
When a qml project built with vcpkg is debugged, we get a missing qml
module errors like `module "QtQuick.Layouts" is not installed`.
So we should set the `QML_IMPORT_PATH` environment variable explicitly.
Fixes: VSCODEEXT-107
Change-Id: I3f717a9b8b94e9948f2cf3c4d62383e4d84e4477
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
|
|
|
|
|
| |
Change-Id: I14aaf1beb358e3efc5b81c362e8fbae4126c39d3
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
|
|
|
|
|
| |
Change-Id: I448a084f9100ec0ff39dadd9f552f65f0849dc56
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
|
|
|
|
|
|
|
|
|
| |
`checkChangelog` is only needed when publishing a new version, so it
makes sense to move it to `publish.ts`. Otherwise, it fails when we
bump the version in `package.json` and run not update changelog.
Change-Id: Ib318f92b4950e2b4e71db7f3465c58d874faed2c
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
|
|
|
|
|
|
|
|
|
| |
We already put the dependencies of qt-lib in the ThirdPartyNotices.txt.
So we don't need to put the license of qt-lib in the
ThirdPartyNotices.txt.
Change-Id: I1cb24acd46ed3f0852be6d15667f2d01361fb179
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
|
|
|
|
|
| |
Change-Id: I5b32ad2e96a63f43ed54c8cb6e30fd800159cc01
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
|
|
|
|
|
|
|
| |
Amends 18554f90beb62c1b4868fcb86ec99690711f1abe
Change-Id: Ib1208c72805fe9f49c114bc869f9f7b6100d5071
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Remove `getSelectedQtInstallationPath()` use `getSelectedKit()` instead
Since we support both root installation kits and qtpaths, we cannot just
return the installation path of the selected kit. We need to return
the all kit information.
* Use only qtpaths exe paths to cache information
Since we store only qtpaths exe paths in `cmake-kits.json`, we don't
need to hash it with other values like name or isVCPKG. And also, we can
improving the performance by caching different kits but with the same
qtpaths.
* Implement `qt-cpp.qtDir` for debug templates on Windows
We have to return possible dll paths for qtpaths kits.
* Deprecate `qt-cpp.kitDirectory` and use `qt-cpp.qtDir` instead
We support both root installation kits and qtpaths. So we cannot just
rely on `qt-cpp.kitDirectory\bin` in debug templates. For qtpaths, we
need to return multiple paths.
* Remove `kit-directory.ts` and move content to `launch-variables.ts`
* Add `qt-cpp.qpaPlatfromPluginPath`
When we debug with Qt from vcpkg. We get the
`could not find or load the Qt platform plugin "windows" in "",` error
if we don't set the `QT_QPA_PLATFORM_PLUGIN_PATH` environment variable.
That's why we need to set `qt-cpp.qpaPlatfromPluginPath` according to
`cmake.buildType` either `debug` or `release` path.
* Locate Designer via qtpaths
To support using Designer from qtpaths, we need to locate the Designer
inside paths like `QT_HOST_BINS`, `QT_HOST_LIBEXECS`,
`QT_INSTALL_LIBEXECS`
* Remove error messages when a qtpaths kit selected
In the previous implementation, we showed an error message when a
qtpaths kit selected instead of root installation kits.
* Add Qt version detection from qtpaths
* Add selectedQtPaths to coreAPI
When a qtpaths kit is selected, we set `selectedQtPaths` to inform
other extensions.
* Move `queryHostBinDirPath` to `qt-ui/util.ts`
Since it is only used in `qt-ui`, we move it to `qt-ui/util.ts`
* Shorten `locateQtDesignerExePath()` to `locateDesigner()`
* Use `set designerClient()` and detach inside it
It is better encapsulation.
Task-number: VSCODEEXT-86
Task-number: VSCODEEXT-93
Task-number: VSCODEEXT-92
Change-Id: I0aadd4dd5e2f9508576dda70d24eb14de7796a86
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
|
|
|
|
|
| |
Change-Id: I330ff2d959d59f00629ee053e6d322683cab2879
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
| |
Since `f1` is the general keybinding for opening the help, it makes
sense to use it for the `documentationSearchForCurrentWord` command.
Change-Id: I61558148f51a8722835cf21cb4358bbacbc37163
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
|
|
|
|
|
| |
Change-Id: I39904e5a5bb99e97b10681ba9ac368f136dce31c
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add two commands to enhance user control over installation status.
* `checkQmllsUpdate` checks for recent updates on the server and
provides a window to ask the user whether to install it.
* `downloadQmlls` downloads and install qmlls regardless of
the current installation status. This could be useful when the user
wants to reinstall from scratch.
Task-number: VSCODEEXT-68
Change-Id: I293b17fdfdd478b16753b6f6b1346a11716f1b2f
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
Reviewed-by: Orkun Tokdemir <orkun.tokdemir@qt.io>
|
|
|
|
|
| |
Change-Id: I27282a7e316f847e62e8751cb9eb52ea38a4aff2
Reviewed-by: Orkun Tokdemir <orkun.tokdemir@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
In the current kit generation, `VSCODE_QT_INSTALLATION_ROOT` doesn't
address the acutal Qt installation root. It addresses a subdirectory
inside it. That's why it can be misleading. This commit renames it to
`VSCODE_QT_INSTALLATION` to make it more clear.
Change-Id: I40ea80786c7d73b9279efa9eb6160f8e9a52af20
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
|
|
|
|
|
| |
Change-Id: I3672e4fb4e2f4c034b20783333ccb19473b614bc
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
|
|
|
|
|
|
|
|
| |
* If a local license name includes `license` somehow, consider it as a
license file.
Change-Id: Ib5f999c81905d7618155fdd2ebb5a562a7a0d739
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
|
|
|
|
|
| |
Change-Id: I7b55910f5ea78b703c7a687d04398608c21c395c
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
* Update package.json & add `command-exists`
* Add kit generation for vcpkg
Task-number: VSCODEEXT-93
Change-Id: Iaae7c5b1cf1afc07a74544ad1840b13e3dba0350
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
|
|
|
|
|
|
|
|
| |
Since the generation of `qt.toolchain.cmake` is added with `Qt6`, we
don't need to check for the file in `Qt5` and `Qt`.
Change-Id: I03a79eb6e9b6a027bb6ea96c5a13d635ed4b8248
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
|
|
|
|
|
|
|
|
| |
* Fix linting errors
Change-Id: I933d8070b470a56db33451db7638d0d74744015e
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
Reviewed-by: Ben Cho <ben.cho@qt.io>
|
|
|
|
|
| |
Change-Id: I91e5d87b4bd70b97f980d0737845cf3b888ac094
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add feature to download the qmlls from central server.
The extension checks for a new qmlls release at startup using
server-provided JSON, which includes version and binary locations.
If an update is available, the binary is installed in `UserLocalDir`.
Task-number: VSCODEEXT-68
Change-Id: Iff179def26d233e6089faf2d6a1864e87b11ef9a
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
Reviewed-by: Orkun Tokdemir <orkun.tokdemir@qt.io>
|
|
|
|
|
|
|
|
| |
* Add caching for eslint
* Gather commands together in package.json
Change-Id: I3169cff2974a29a2ddd7daa97d3e8560420b1e06
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
|
|
|
|
|
| |
Change-Id: I6622d0decd8c788bcd6573838a20de261fc1e896
Reviewed-by: Orkun Tokdemir <orkun.tokdemir@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
When generating msvc kit, using either platform info or
`visualStudioArchitecture` is not enough to generate correct msvc kits.
We should generate kits when both the platform info and
`visualStudioArchitecture` match. Otherwise, msvc kits may cause
incompatible architecture errors.
Change-Id: I58f6dd46a9dc713b58cd24d24c1f05a155dfe026
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
|
|
|
|
|
|
|
| |
* Factor out the common code to find `qconfig.pri`
Change-Id: I2059e3369a18e5e50c1335e4963bb1aea44c408f
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
* Add `all_dev:<extension>` commands
Those commands are useful when working on a specific extension
and slow hardware.
Change-Id: Ic60d220d480631338bcc8d6e362cea882e2db005
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
|
|
|
|
|
|
|
|
| |
* Handle the workspace type in the beginning of the function
* Use the same code for both workspace types
Change-Id: Ifa7a5a1f5e7bc90e41688815e7ffc8181be80351
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
|
|
|
|
|
|
|
|
| |
This patch shows a progress bar when `qt-core.additionalQtPaths` is
changed, and the kits are being generated.
Change-Id: I2b2f804fa6b0abce9fcc4df2d732a61781492a8d
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
|
|
|
|
|
|
|
|
| |
* Removed unused code
* Add new parameters to generalize usage of `generateMsvcKits`
Change-Id: Ic709da8603e735f686ccd95cfcbd9f0fef22de71
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The current implementation of the isEqualArrays function compares arrays
by checking if they have the same length and if each corresponding
element is strictly equal (===). This approach works for primitive types
but may fail for complex types like objects or arrays, where strict
equality does not account for deep equality.
To fix this, we use a deep equality check for each element in the array.
Change-Id: I5fae38b205b5a971c1a32dffd385cb489461401f
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
Fail publishing when the minor version is even to follow the vscode
extension publishing guidelines.
https://code.visualstudio.com/api/working-with-extensions/publishing-extension
Change-Id: Ie78dcf4b6744773319d7d2ef8af8c3367b8ed28c
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
|
|
|
|
|
|
| |
Change-Id: I7396a10de2cee83f897785045c740a941b41fa04
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
Reviewed-by: Orkun Tokdemir <orkun.tokdemir@qt.io>
|
|
|
|
|
|
|
|
|
| |
* Run prettier on qtpaths.ts
https://github.com/qt-labs/vscodeext/actions/runs/11380484052/job/31659868203
Change-Id: I50ee0f2fa0d1d8964fd81e649c3ebd3981b91a32
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
This new command opens the folder navigation dialog to select either a
`qmake` or a `qtpaths` executable. The selected executable is then added
to the global `qt-core.additionalQtPaths` configuration.
Change-Id: Ic1bfb8d5b32f98b8b8fd2b6656dea1222d580ec2
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
Since the reset functions are missing, it is not possible to reset
stateManagers.
Also add resetting of `projectManager` to `qt-core.reset`
Change-Id: Ic909192c8a86bd9c692c187931a03d7d5800634e
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
|