aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Add support for user-defined MOC macrosHEADdevAli Can Demiralp6 days3-28/+36
| | | | | | | | Added equivalent of CMake's AUTOMOC_MACRO_NAMES to Qt settings. Fixes: QTVSADDINBUG-905 Change-Id: I51467977344b16292224cc490952696e281ec6fc Reviewed-by: Miguel Costa <miguel.costa@qt.io>
* Doc: Fix online TOC (sidebar) and copyright yearLeena Miettinen7 days2-1/+2
| | | | | Change-Id: Ifb49b8c494b0357c764b2de5dec6928e84bd50c6 Reviewed-by: Karsten Heimrich <karsten.heimrich@qt.io>
* Update vstools install commandKarsten Heimrich8 days3-3/+8
| | | | | | | | | * Do not hardcode the build configuration * Add option to pass an argument, like /rootSuffix:Exp Change-Id: I9e05249abc66ae984a06d802d12c5cec8fbefde0 Reviewed-by: Miguel Costa <miguel.costa@qt.io> Reviewed-by: Ali Can Demiralp <ali.demiralp@qt.io>
* Update v3.2.0 changelogKarsten Heimrich9 days1-1/+20
| | | | | | Change-Id: I0c13e7dbdc6c1fc90ad73acdbe141028524f25d6 Reviewed-by: Miguel Costa <miguel.costa@qt.io> Reviewed-by: Ali Can Demiralp <ali.demiralp@qt.io>
* Doc: Update tutorialsLeena Miettinen9 days5-5/+9
| | | | | | | | | | | - "Precompiled header" was renamed and moved to the module selection page - Add the link to the QMMLS docs to extenal links because the topic title has changed between Qt versions Change-Id: I400431276ab868855cf0d5c7666fdea847656b01 Reviewed-by: Karsten Heimrich <karsten.heimrich@qt.io> Reviewed-by: Ali Can Demiralp <ali.demiralp@qt.io>
* Enable batching of CL calls for dynamic sourcesAli Can Demiralp14 days1-5/+0
| | | | | | | | | | Reverts fbd0131003571a5c54852c029e01c2f926501a1a. Setting separate object file names for sources prevents them to be optimized into a single CL call. Fixes: QTVSADDINBUG-1191 Change-Id: I6a1a00be66d0d98973194ab453c54e5784c9537b Reviewed-by: Karsten Heimrich <karsten.heimrich@qt.io>
* Squish: Move OK button to globalnamesRobert Löhning2024-04-103-3/+3
| | | | | | | ...so it can be used anywhere. Change-Id: I0790e893363c91512fb75c5494f041d958b8c0a7 Reviewed-by: Karsten Heimrich <karsten.heimrich@qt.io>
* Fix null reference exceptionKarsten Heimrich2024-04-105-13/+17
| | | | | | | | | VersionInformation.GetOrAddBy{Name|Path} can return null if the provided path or name is invalid. To prevent null reference exceptions, implement some checks to ensure safe access to object. Change-Id: I30155bed68213632f1df2e1695612de237efbcb0 Reviewed-by: Karsten Heimrich <karsten.heimrich@qt.io>
* Fix crash while parsing mingw configuration filesKarsten Heimrich2024-04-101-3/+3
| | | | | | Change-Id: If8f5d73a0be096f2fce09cf3a24fb5dc6fbbaf09 Reviewed-by: Ali Can Demiralp <ali.demiralp@qt.io> Reviewed-by: Karsten Heimrich <karsten.heimrich@qt.io>
* Correct conversion of moc_predef steps and set output path to $(IntDir)Ali Can Demiralp2024-04-091-2/+5
| | | | | | | | | | | | | The project importer was ignoring moc_predef steps since it was searching for "moc.exe" within their commands, which does not exist, since predefs are handled by cl and not moc.exe. This is no longer the case. Furthermore the predef output was hard-coded to "debug\" and "release\" directories under the project root. This has been changed to respect the $(IntDir). Fixes: QTVSADDINBUG-987 Change-Id: Ibc6b01d68a7cd27bad3c3148a0562ef399ac743b Reviewed-by: Karsten Heimrich <karsten.heimrich@qt.io>
* Squish: Replace wait condition strings with lambdasRobert Löhning2024-04-086-17/+17
| | | | | Change-Id: I36519c083648e13b296d3ca9968f9146335862ae Reviewed-by: Karsten Heimrich <karsten.heimrich@qt.io>
* Fix import of short options from .pro filesAli Can Demiralp2024-04-084-21/+17
| | | | | | | | | | | Changes introduced in d5eeba97340e5206923c8f0230b5c78c77c69db3 and b2fe8c5c49b7be818dc31da2e8ad8331b49fe2c2 broke the import of .pro files containing short options. This change amends the problem. Fixes: QTVSADDINBUG-1091 Fixes: QTVSADDINBUG-1189 Change-Id: I378a5303b5709e8fb7d6afcaaa676877658976f6 Reviewed-by: Karsten Heimrich <karsten.heimrich@qt.io>
* Squish: Test handling of invalid path to QtRobert Löhning2024-04-084-5/+27
| | | | | Change-Id: Ib806833c134677e5cfea7af4753522592515f312 Reviewed-by: Karsten Heimrich <karsten.heimrich@qt.io>
* Squish: Improve tests for "Restart Required" messageRobert Löhning2024-04-084-7/+17
| | | | | | | | | | | | | | VS2022 changed the text of the message. I now split the test into two parts: - Is there a message at all, found using its ID? - Does that message have an expected text? This will make it easier to figure out why the tests fail, if they do. Change-Id: I0f1675a7981d1856af38a5cee8c642d0b4dad4dd Reviewed-by: Karsten Heimrich <karsten.heimrich@qt.io>
* Squish: Adjust timingsRobert Löhning2024-04-053-3/+3
| | | | | | | | | | | | | | | | | - When opening the "Qt VS Tools" menu while the add-on is still initializing, the "Initializing" placeholder might not appear immediately. Wait a moment for it to appear before assuming that initializing finished. - The "You must select a Qt version" message might need a couple of seconds to appear. Give it some more. - When creating a new project, the automatically opened editor never took longer than four seconds to appear here. Waiting for ten seconds should be sufficient before assuming it won't show. Change-Id: I4cc56452412639dd342e8805d642347bce73613f Reviewed-by: Karsten Heimrich <karsten.heimrich@qt.io>
* Add QtMSBuild stand-alone distributionAli Can Demiralp2024-04-052-2/+18
| | | | | | | | | | | Added a post-build step to QtMSBuild to compress the output folder into a .zip file. The deploy command now copies this .zip file to the deployment directory along with the .vsix file. Fixes: QTVSADDINBUG-779 Fixes: QTVSADDINBUG-1157 Change-Id: Ica018358ae323883d51f85489bcd21f10595466b Reviewed-by: Miguel Costa <miguel.costa@qt.io>
* Replace QtBkup_* and QtCleaned_* comparisons with hash comparisonsAli Can Demiralp2024-04-053-53/+32
| | | | | | | Fixes: QTVSADDINBUG-1148 Change-Id: I46de5a37241eb45838ff64b8869a7a672412125a Reviewed-by: Miguel Costa <miguel.costa@qt.io> Reviewed-by: Karsten Heimrich <karsten.heimrich@qt.io>
* Fix install scriptOliver Wolff2024-04-031-3/+3
| | | | | | | | | | | Without any cmd magic VSIXInstaller will just return immediately even though the (un)installation is still ongoing. In our usage of the tool that would result in the installer being called while the uninstaller is still running. We can avoid that by using cmd's "start /wait" construct. Change-Id: Ic035a46e361c04615b14e3c5078a188c73720f36 Reviewed-by: Ali Can Demiralp <ali.demiralp@qt.io> Reviewed-by: Miguel Costa <miguel.costa@qt.io>
* Merge shared code into base classKarsten Heimrich2024-04-0311-107/+32
| | | | | Change-Id: Ic87150f48b1a9e356d6da6384fdb740ea7cb3b2b Reviewed-by: Miguel Costa <miguel.costa@qt.io>
* Unify precompiled header supportKarsten Heimrich2024-04-0319-316/+429
| | | | | | | | | | | Instead of implementing it in every wizard, make the setting available on the config page. Enable support for "Console" and "QML" projects. Fixes: QTVSADDINBUG-347 Change-Id: If621b32d8d9c496a0ceba87de745f8e3c92fc75b Reviewed-by: Miguel Costa <miguel.costa@qt.io> Reviewed-by: Ali Can Demiralp <ali.demiralp@qt.io>
* Make use of the new settings classKarsten Heimrich2024-03-2719-278/+354
| | | | | | | | | | | This patch addresses an initialization issue that occurs when the user waits on the splash screen until Visual Studio is fully initialized. In this scenario, none of the options on the QtOptionsPage are set to their corresponding values from the registry, which may result in incorrect behavior in some cases. Change-Id: I9403289f429244ee4f2f6656f703cdb1f60e486a Reviewed-by: Miguel Costa <miguel.costa@qt.io>
* Implement settings class, stores settings based on custom attributeKarsten Heimrich2024-03-274-0/+184
| | | | | | | | This will also allow access to the settings stored in the registry outside of the QtOptionsPage and a necessary switch to the main thread. Change-Id: I5925d21394373e244e269ed421df076ff54487df Reviewed-by: Miguel Costa <miguel.costa@qt.io>
* Introduce command to delete the Qt VS Tools settings on startupKarsten Heimrich2024-03-273-0/+15
| | | | | | | | | | The command is hidden and simply clears the settings on startup. It can be triggered from the command line using the following syntax: devenv {other commands} /Command QtVSTools.ClearSettings Fixes: QTVSADDINBUG-1088 Change-Id: I83418d760d2c571d4004d35f8740ea62443da0f5 Reviewed-by: Miguel Costa <miguel.costa@qt.io>
* Add a new and rename existing constants specifying registry pathsKarsten Heimrich2024-03-276-19/+19
| | | | | Change-Id: I35a0183cc00945b9a0a57212d657de4eaddc9b16 Reviewed-by: Miguel Costa <miguel.costa@qt.io>
* Inform user if project Qt installation property is invalidAli Can Demiralp2024-03-264-2/+130
| | | | | | Task-number: QTVSADDINBUG-1132 Change-Id: I4d86de650db1acc723ec579bd6d5108e955a06a6 Reviewed-by: Karsten Heimrich <karsten.heimrich@qt.io>
* Add option for activating the console pane on new messagesAli Can Demiralp2024-03-212-1/+12
| | | | | | Fixes: QTVSADDINBUG-1184 Change-Id: I2d5958ea8c229b6f3571a77c2cbad06833766a41 Reviewed-by: Karsten Heimrich <karsten.heimrich@qt.io>
* Squish: Test building projects with CMakeRobert Löhning2024-03-212-74/+135
| | | | | | | | | | | Task-number: QTVSADDINBUG-1035 Task-number: QTVSADDINBUG-1159 Task-number: QTVSADDINBUG-1160 Task-number: QTVSADDINBUG-1162 Task-number: QTVSADDINBUG-1177 Task-number: QTVSADDINBUG-1178 Change-Id: Ieb0a8faf6c3ff238d0a92e52924bbb3ea1143db9 Reviewed-by: Karsten Heimrich <karsten.heimrich@qt.io>
* Add default stylesheet setting the size of embedded editor widgetsAli Can Demiralp2024-03-211-1/+11
| | | | | | | | | Added default stylesheet to embedded editors (designer and linguist) which resizes the components to reasonable defaults. Fixes: QTVSADDINBUG-885 Change-Id: I803189a416e213a274cf9fe79c20538e9d1d7bfd Reviewed-by: Karsten Heimrich <karsten.heimrich@qt.io>
* Add dark mode and stylesheet support for editorsAli Can Demiralp2024-03-212-1/+46
| | | | | | | Fixes: QTVSADDINBUG-862 Fixes: QTVSADDINBUG-1060 Change-Id: I15a347e6a0fa299d65e3fd45d63e259e3c5a2416 Reviewed-by: Miguel Costa <miguel.costa@qt.io>
* Use VS embedded info bar to show the detach option of editorsAli Can Demiralp2024-03-213-35/+73
| | | | | | Fixes: QTVSADDINBUG-959 Change-Id: I933819e192c60bf52d304ee418bd7f953f0e8883 Reviewed-by: Karsten Heimrich <karsten.heimrich@qt.io>
* Ensure non-empty filename prior to getting directory in file validationAli Can Demiralp2024-03-191-1/+1
| | | | | | Fixes: QTVSADDINBUG-1182 Change-Id: If3871a6bfda4d8abd5ebf18ab06cf3df7a568c46 Reviewed-by: Karsten Heimrich <karsten.heimrich@qt.io>
* Fix warning, exposed while building on the command lineKarsten Heimrich2024-03-151-2/+5
| | | | | | | | | | Warning VSTHRD010: Accessing "QtVsTools.VisualStudio.InfoBarMessage.Close" should only be done on the main thread. Change-Id: I3df3d4fcf50323f0a6b08721304deadf79015526 Reviewed-by: Ali Can Demiralp <ali.demiralp@qt.io> Reviewed-by: Karsten Heimrich <karsten.heimrich@qt.io>
* Set QMake output directory to $(Temp)/$(ProjectGuid)/qmakeAli Can Demiralp2024-03-151-1/+1
| | | | | | | | | | The QMake output directory is now set to $(Temp)/$(ProjectGuid)/qmake instead of $(ProjectDir)/$(IntDir)/qmake to prevent the revert from breaking the earlier fix introduced for QTVSADDINBUG-860 and QTVSADDINBUG-872. Change-Id: I8099069e91a490cf3df86d2e9d7cf4c58ad0228d Reviewed-by: Karsten Heimrich <karsten.heimrich@qt.io>
* Move Qt variables expansion from qt.targets to qt_private.propsAli Can Demiralp2024-03-152-60/+60
| | | | | | | | | Reverts e0d214ec36041d3ee9cb40f00c38c29ef259b5e3. Fixes: QTVSADDINBUG-1172 Change-Id: I3b62f43e3f2829cd1f2fbd9312ad4f0ef2659b11 Reviewed-by: Miguel Costa <miguel.costa@qt.io> Reviewed-by: Karsten Heimrich <karsten.heimrich@qt.io>
* Use {From|To}NativeSeparator helper methodsKarsten Heimrich2024-03-142-6/+7
| | | | | | | | Using these methods the intent of the file path manipulation is clearer. Change-Id: I36ecf9d924281e78579fde4078ccbe41bdc0b1e2 Reviewed-by: Ali Can Demiralp <ali.demiralp@qt.io> Reviewed-by: Karsten Heimrich <karsten.heimrich@qt.io>
* Remove QMakeConf() constructor overloadKarsten Heimrich2024-03-142-6/+2
| | | | | | | | Since we are calling QMakeQuery in the version information class as well, we can also store the fetched version info right away... Change-Id: I7ec3095caa2c497ca62a64a3e1fcb6c31bbb0967 Reviewed-by: Miguel Costa <miguel.costa@qt.io>
* Centralize Qt version name sanitizationKarsten Heimrich2024-03-142-2/+19
| | | | | | | | | | Previously, only SaveVersion() sanitized version names, potentially leading to naming inconsistencies since SaveDefaultVersion() required similar treatment. Now, both functions sanitize the name before storing it in the registry. Change-Id: I53d89803e234bfc9cdeb005a047e66859d47abdd Reviewed-by: Miguel Costa <miguel.costa@qt.io>
* Refactor QMakeImport classKarsten Heimrich2024-03-147-192/+167
| | | | | | | | | * Make the class static since it does not share any state. * Merge setVcVars function, it's only used inside this class. * Introduce overload in class QMake to call Run with process. Change-Id: Ib08f1921d1d54a632d3baa42ae1269136b411718 Reviewed-by: Miguel Costa <miguel.costa@qt.io>
* Refactor QMakeConf classKarsten Heimrich2024-03-143-94/+93
| | | | | | | | | | * Properly set QMakeSpecDirectory * Split parser for better readability * Add indexer for improved element access * Rework/update outdated code to find qmake.conf Change-Id: Ida75208745127ece5eaf6da7202116d6187c94c2 Reviewed-by: Miguel Costa <miguel.costa@qt.io>
* Refactor VersionInformation classKarsten Heimrich2024-03-1413-251/+173
| | | | | | | | | | * Make fields and methods properties and reorder them. * Remove really old method to get the Qt version number. * Remove the 'Name' field, preventing redundant storage of version information due to custom name variations. Change-Id: Idbea96c3cf56ec9d6eeda49094cb66f2734d77ba Reviewed-by: Karsten Heimrich <karsten.heimrich@qt.io>
* Avoid modifying .vcxproj.userAli Can Demiralp2024-03-143-5/+10
| | | | | | | | | | | | | Removed QtLastBackgroundBuild, which was a property that was written, but never read, and had the sole purpose of triggering an update to MOC/UIC/... as well as IntelliSense. Replaced it with QtTouchProperty, which serves the same purpose, but without modifying the .vcxproj.user. Added comments clarifying its purpose to avoid unintentional refactoring in the future. Fixes: QTVSADDINBUG-935 Change-Id: I4d72c9930f07b121fe6437965e7c082b335cf34a Reviewed-by: Karsten Heimrich <karsten.heimrich@qt.io>
* Update Changelog to v3.2.0v3.2.0Karsten Heimrich2024-03-131-0/+22
| | | | | Change-Id: Ib7b0648167b789d93b6834deb91b4bde2b774d59 Reviewed-by: Miguel Costa <miguel.costa@qt.io>
* Fix wizard throwing due to backslashes and rootnames not matching filesAli Can Demiralp2024-03-123-33/+45
| | | | | | | | Fixes issues that arose due to change 5aa212ced155e5f9cd31295274e0896e24f2d8a2. Change-Id: I3233b1e336209e0b315ca530168414833d3fe0ca Reviewed-by: Karsten Heimrich <karsten.heimrich@qt.io>
* Enable file wizards to accept relative pathsAli Can Demiralp2024-03-055-6/+46
| | | | | | | | | The QtClassWizard, TranslationWizard and WidgetsClassWizard once again accept relative paths. Fixes: QTVSADDINBUG-528 Change-Id: I04a379840dc59c9be1a50de851001f621b31da9c Reviewed-by: Miguel Costa <miguel.costa@qt.io>
* Fix Qt Quick project creation with Qt 5 and CMakeAli Can Demiralp2024-03-052-1/+6
| | | | | | Fixes: QTVSADDINBUG-1162 Change-Id: Id06579d516e2c5e6f4043e99f7a85ea5c638c80a Reviewed-by: Miguel Costa <miguel.costa@qt.io>
* Fix MultiToolTask on VS 2019Ali Can Demiralp2024-03-051-1/+1
| | | | | | | | | Remove exit code metadata before CL compile to prevent the "MultiToolTask task failed unexpectedly" error on VS2019. Fixes: QTVSADDINBUG-989 Change-Id: Id3cfc61d66e7012379d17fb831b453eabf66426a Reviewed-by: Miguel Costa <miguel.costa@qt.io>
* Ensure pre-compiled header is accessible from generated sourcesAli Can Demiralp2024-03-041-1/+1
| | | | | | | | | | | | | | | The project directory was removed from the additional include directories passed to generated sources in 3746c90a3ee718342ce7f1f4415a07635c7cd1fc due to raising an error about inconsistency of arguments passed to different CL tasks. However it is necessary for the generated sources within the build directory to be able to locate the pre-compiled header in the source directory. This commit adds the project directory to all CL tasks, preventing the warning as well as allowing access to the precompiled header. Change-Id: Ia1cddbf89c258d0c2e43b90f355ea29a7bf4508d Reviewed-by: Karsten Heimrich <karsten.heimrich@qt.io> Reviewed-by: Miguel Costa <miguel.costa@qt.io>
* Amend commit 7875ba, fixes "Must select Qt" not disappearingKarsten Heimrich2024-03-011-2/+2
| | | | | | | | | | | | | While working on the mentioned commit, certain sections of the code has been temporarily commented out to make moving the code easier. It seems I accidentally overlooked enabling these sections afterwards. Fixes: QTVSADDINBUG-1176 Change-Id: I7ae90fa1e7d82f03d1d0a0cb330154bb68ab8863 Reviewed-by: Ali Can Demiralp <ali.demiralp@qt.io> Reviewed-by: Robert Löhning <robert.loehning@qt.io> Reviewed-by: Miguel Costa <miguel.costa@qt.io>
* Fix package InitializeAsync call delayMiguel Costa2024-02-293-9/+17
| | | | | | | | | | | | | | Specified some additional auto-load contexts for the AsyncPackage, to handle the case where VS is started with the option to immediately load a solution/project. Also, the wait-event that signals initialization complete is now static and async. An await for initialization was added to the QML LSP client, to avoid the consequences of race conditions between MEF and package initialization. Change-Id: Ib065e12be1ace5d6275bf178d5ce2e1fc504b7ec Reviewed-by: Karsten Heimrich <karsten.heimrich@qt.io>
* Pass project path to qmlls as build dirMiguel Costa2024-02-291-5/+18
| | | | | | | Fixes: QTVSADDINBUG-1171 Change-Id: I260d3c5689ac10cf4926886cd6a7bf83246b976e Reviewed-by: Ali Can Demiralp <ali.demiralp@qt.io> Reviewed-by: Karsten Heimrich <karsten.heimrich@qt.io>