| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
| |
Some Qt installations do not have `qmake.exe` but `qmake.bat` instead.
This commit adds a check for `qmake.bat` in the Qt installation
directory.
Fixes: VSCODEEXT-117
Change-Id: I2d4aa5fdda216739be16bc3a95867496d2817561
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
| |
|
|
|
|
|
| |
Pick-to: 1.1.0
Change-Id: I7b818025dd1684620f855dbd14b21d4c50481e23
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In the previous implementation, the extensions were using only one way
to communicate with each other, which was getting a notification when a
config value was set or changed. This was problematic on startup because
there was no order in which the extensions were activated and when
messages were handled. b5bf26ac084823758be18453bb61579fefceb57c
partially fixed this issue by adding a way to wait for `qt-cpp` to be
ready, but it was still not enough. The extension should read config
values when they are ready, not when messages are sent from other
extensions.
Remove the `lazy` initialization parameter in `Project` classes. Instead
of using that parameter, we remove the firing event from `addProject()`
and only fire when the project is added after startup. This way, we
don't need the `lazy` parameter anymore.
Since `processMessage()` is not used during startup, this commit also
fixes QTBUG-131702 on the extension side.
qt-lib:
This commit changes `QtWorkspaceConfigMessage` and removes values in it.
`QtWorkspaceConfigMessage` is now used only to notify that a value or
values were set. The value `CoreApi` can be accessed by `getValue`
and `setValue`.
* Update the `CoreApi` interface
* Add `setValue`
* Rename `update` to `notify`
* Remove `get<T>()` from `QtWorkspaceConfigMessage`
qt-core:
* Remove the internal checking mechanism to understand if a value was
set or changed. Instead, just store values.
qt-cpp:
* Update `processMessage()` for the new usage.
* Initialize config values explicitly during startup.
qt-qml:
* Update `processMessage()` for the new usage.
* Separate starting `qmlls` from the constructor.
It should be started when the conditions are met.
* Get config values and update parameters inside `onProjectAdded()`
Task-number: QTBUG-131702
Change-Id: If9831ea1257d123f777e6ae2afb92f33942dd3da
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
|
| |
|
|
|
| |
Change-Id: Iab1c9f545d8b10ad13127a3a77545a3f4f475597
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
|
| |
|
|
|
|
|
|
|
| |
During the startup,`qt-qml` and `qt-ui` should wait until `qt-cpp`` sets
the initial configuration values. Otherwise, qt-qml qt-ui may not be
able to access the correct configuration values.
Change-Id: I974a0e5e7e9cb541ea4a382ac85c303b6b59646f
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
|
| |
|
|
|
|
| |
Change-Id: Ic95878fd83d6861b2d0d04a118a23a6e7278342d
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
| |
Since event handlers are not disposed properly, they are still active
when the project is closed. This can cause those handlers to be called
after the project is closed, which can lead to errors.
* Dispose project managers inside `Deactivate()`
Change-Id: Idd7b8548f7c16c41c0e4fd7052fa7ae988678bc4
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
| |
|
|
|
|
|
|
|
|
| |
When only the value is checked whether it is undefined or not, it
doesn't give us the correct result because the value either can be
set to undefined or not set at all. We get undefined in both cases.
We should check the key is set in the message first instead.
Change-Id: Ic4c17e96c3975adcbc49eb82e7b1999d3dcec851
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
|
| |
|
|
|
|
|
| |
https: //www.typescriptlang.org/tsconfig/#incremental
Change-Id: I750398a09178e02c3b3c73bf8e8fc7654dab03d4
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
|
| |
|
|
|
|
|
|
| |
On some platforms, Designer is not located in any of the qtpaths keys
directly. We also need to check `tools/qttools/bin` for Designer.
Change-Id: I0a49868262019654d6fd8aebbc9be76fb9f3da20
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
|
| |
|
|
|
|
|
|
|
|
| |
`.eslintcache` is added to .vsix files, so it should be added to the
`.vscodeignore` files to discard them.
Amends: 8570300bf7eb20e13f397319dd506ae1a5600a82
Change-Id: I36102382ec29d9e9d1f0060f32c23df6364761ed
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
|
| |
|
|
|
|
|
| |
* Run `npm audit fix` to fix them.
Change-Id: Iab3b1fd524e70bae930c03025ae10683fac07046
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>
|
| |
|
|
|
| |
Change-Id: I14aaf1beb358e3efc5b81c362e8fbae4126c39d3
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>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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: 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>
|
| |
|
|
|
|
|
|
| |
* Fix linting errors
Change-Id: I933d8070b470a56db33451db7638d0d74744015e
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
Reviewed-by: Ben Cho <ben.cho@qt.io>
|
| |
|
|
|
|
|
|
| |
* Add caching for eslint
* Gather commands together in package.json
Change-Id: I3169cff2974a29a2ddd7daa97d3e8560420b1e06
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
|
| |
|
|
|
|
|
|
|
|
| |
The `ProjectManager` classes in qt-core, qt-cpp are now derived from
the `ProjectManager` template class in qt-lib.
Rename `ProjectBase` to `Project` for simplcity and consistency.
Change-Id: I66492028f43eb8822e2be5cde87de8a97c214381
Reviewed-by: Orkun Tokdemir <orkun.tokdemir@qt.io>
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
| |
* Add tilde support for `qt-cpp.installationRoot`,
`qt-cpp.qtadditionalQtPaths`, `qt-qml.qmlls.customExePath` and
`qt-ui.customWidgetsDesignerExePath`.
* Update the `package.json` files
* Update ThirdPartyNotices.txt
Change-Id: Ieefda914b46e78882cc18dd98eef86d26399f1b8
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
|
| |
|
|
|
| |
Change-Id: Id7b61cc70c97b3e859a0004bb206e970ca51f17e
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
This new configuration value can be used to specify Qt installations
that were not provided by the Qt installer. The values are absolute
paths to the qtpaths or qmake executables of a Qt installation.
For values in qt-core.additionalQtPaths we now generated CMake kits
like it was already the case for qt-core.qtInstallationRoot.
Fixes: VSCODEEXT-86
Change-Id: Id8eefe92c930546ede2639e18792fc78ba6558dd
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
Reviewed-by: Orkun Tokdemir <orkun.tokdemir@qt.io>
|
| |
|
|
|
|
|
|
| |
ESlint doesn't fail when a private method is not used in the class. We
can detect it via `tsconfig.json`.
Change-Id: I9de96572a01841535ddbcde62223535a8b794950
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
| |
|
|
|
|
|
|
| |
Since we build extension via ci-scripts, we don't need additional
commands in `npm run package` script.
Change-Id: If6d7a4dfc8e4423534a12bab48114823281566fa
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
|
| |
|
|
|
| |
Change-Id: I3230828fed10d2d4ae5b2ce9428deb99b66d8c6a
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
* Add `package.ts` to handle the packaging of extensions
* Add `publish_ext_pack.ts` to hande the publishing of extension packs
inside `.ts` scripts
* Add generation of commit hash file to every extension and extension
pack
* Remove commit hash file after publishing and packaging
Change-Id: Ic6ecd59ab3d045a7022e9322a75a07833a3885de
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
|
| |
|
|
|
| |
Change-Id: I589b400f22ba6a87bc931e3c5c7f0ce4d2dea622
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
| |
|
|
|
| |
Change-Id: I7b1a6b474a77fb7ca68f0951a1f8b6a44e6fbf33
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
| |
|
|
|
|
|
|
| |
* Update `CHANGELOG.md` and `package.json`
Change-Id: Iab5b9904c3508a3eb7ec299486e00e249e4427bf
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
* Remove `README-marketplace.md` files
* Move content from `README-marketplace.md` to `README.md`
* Update `README.md` files
* Add missing sections to `README.md` files
* Remove `--readme-path doc/README-marketplace.md` parameter
Change-Id: I0a7d635d37e6d75551b29bb646c94ef084b02e64
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
- Remove general instructions and point to the snapshot at doc.qt.io
- Remove lists of extensions as they are listed automatically
in VS Code Extensions
- Make the instructions about getting started with the extension packs
and the contents of the extensions
Change-Id: I77eb488d53dc83c90569048d809e40b52fc2488e
Reviewed-by: Orkun Tokdemir <orkun.tokdemir@qt.io>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
| |
|
|
|
|
|
| |
Amends 95e78e0a0e26b220e9926e58ed9594a3fa6ed52e
Change-Id: Ia795cbef4af0794e5dd4c012b7e6c6b08590bf00
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
|
| |
|
|
|
| |
Change-Id: If1386126ecc81ec24bfc53c7a9cb302fe5074221
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
|
| |
|
|
|
| |
Change-Id: I1e526a649de31f992d0652ccee8fb973e0ec7133
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Add the `openWidgetDesigner`` command to open Qt Widget Designer.
* Scan both global and workspaceFolder `qtInstallationRoot`s.
* Show users current version to pick.
* Add missing parameter type in `getValue<T>()` in `CoreApiImpl`
* Move below function to qt-lib
`findQtInstallations()`
`isError()`
`matchesVersionPattern()`
Change-Id: Id0ed3714af32e24888fe60ed9e9191452293abed
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
When `.ui` files are modified and opened via the git diff editor, the
custom ui editor is used. This prevents users from seeing the changes
in the built-in text editor, which shows two buttons.
We can fix that by setting the editor in `workbench.editorAssociations`
for the git extension.
Change-Id: I997edfbe7bbccf241836ac8472201f504b51f825
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Change `qtFolder` name to `qtInstallationRoot`
* Change all related variables from `qtFolder` to `qtInstallationRoot`
* Move the `registerQt` command from `qt-official` to `qt-core`
* Move all `qtInstallationRoot` logic to `qt-core`
* Add `ProjectManager` and `StateManager` to `qt-core`
* Move `BaseStateManager` to `qt-lib`
* Update the documentation about the new config name
* Add common constants to `qt-lib`
* Fix typo
Change-Id: I785e2e4aa51f64b91d8fec7d2c264b42d80c9a16
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
|
| |
|
|
|
|
|
|
|
| |
Since there is no cross platform solution for config variables in
`package.json`, it makes sense to use resolved versions. Otherwise,
windows builds fail.
Change-Id: I70a160f0faf047e96d04700cb188987590513041
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
|
| |
|
|
|
|
|
|
| |
Generation of packages fails on Windows because of the `NODE_ENV`
environment variable. Using `cross-env` fixes this problem.
Change-Id: I10e7d315fbd8dd2b92112462249d115d80182b64
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
When a kit which do not have binaries is selected, `qt-ui` cannot locate
the designer binary because the binary is inside some specific kit
folders like `gcc_64` in Linux or `macos` in MacOS. `QT_HOST_BINS`
should be used to prevent that.
* Move `queryHostBinDirPath()` into `qt-lib`
* Enable `queryHostBinDirPath()` in `locateQtDesignerExePath()`
Change-Id: I5199ca56832b1372ffe7a1ee6c683b32a61089cb
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
|
| |
|
|
|
|
|
|
| |
* Use `getQtCustomDesignerPath()` instead of `getDesignerPath()` which
is better naming
Change-Id: I2361f22213af7cdc0536b02d4079457b71683dee
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
|
| |
|
|
|
|
|
|
| |
Adjust icon color schemes to use neon/pine instead of lemon/moss.
Change-Id: If567f539d9370f0f355b764b216f1dfbb2812166
Reviewed-by: Orkun Tokdemir <orkun.tokdemir@qt.io>
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
|
| |
|
|
|
| |
Change-Id: I3dfc89485b9269b29266a47116a827ca219a48df
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
|
|
|
The below Extensions are created with this commit:
* qt-core
* qt-official
* qt-ui
qt-core
This extension is the core extension for the Qt extensions.
It provides the basic functionalities for the other extensions to work.
* It handles the communication between the other extensions.
* It provides the basic functionalities and common features for the other extensions.
* The all other extensions depend on this extension.
qt-ui
This extension provides the UI functionalities.
* It communicates with the `qt-core` extension to get information about the Qt Widget Designer.
* It provides syntax highlighting for `.ui` files.
qt-official
This extension has the rest of the previous monolithic extension functionalities.
It should be divided into more extensions in the future.
This commit implements:
* Common functionalities are moved from `qt-official` to `qt-core`.
* `qt-lib` is implemented as a npm module to gather the common code.
* Static analysis tools for every extension are added.
* Updated all `package.json` files to reflect the changes.
* `ci-scripts` is implemented to run the static analysis tools and tests.
* The `common` is created to gather the common code for tools.
* Extension packs are updated.
* The `ThirdPartyNotices.txt` files are generated for every extension.
* The `README.md` files are updated to reflect the changes.
* `.vscode/launch.json`, `.vscode/extensions.json`, and `.vscode/tasks.json` are updated.
Change-Id: Iac9b7e071275e92cdfbb3a47fba24d3ba8e41c89
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
|