March 29, 2023 by Eike Ziller | Comments
We are happy to announce the release of Qt Creator 10!
You can now temporarily drag the progress details out of the way, in addition to hiding them with the button below them.
If you use the Open as Centered Popup option for locator, we fixed that it didn't remember the last search term that you typed into the input field.
We updated the LLVM version that we ship in our packages to LLVM 16. This improves C++ 20 support in Clang, and the interaction between Qt Creator and Clangd. We also enabled the ClangFormat plugin by default, which now is used by default for indentation.
When you rename .ui
files or the form defined in a .ui
file, Qt Creator now adapts includes and references to them in C++ files of your project automatically.
The new action Tools > C++ > Find Unused Functions helps you find dead code in your projects.
We also added a Call Hierarchy view, which is available for all language servers that support this functionality.
We updated the code model to Qt 6.5. The editor now shows a color preview for corresponding properties as a tool tip, and you can specify an external command like qmlformat
to format files, instead of the built-in formatter.
If you install the optional Qt Language Server component from the Qt installer, you can test out the QML language server in Qt Creator by turning on Qt Quick > QML/JS Editing > Use qmlls now.
We updated the support for CMake presets to preset version 5. This adds for example support for includes, the external
strategy for architecture and toolset, and the pathListSep
variable.
For the editor there is a new option under CMake > Formatter for using cmake-format
or an other command for formatting CMake related files.
We also added a new deploy step that uses cmake --install that you can add to your project configuration in Projects > Run Settings > Add Deploy Step.
We added support for handling the code model remotely via remote Clangd when building on a Docker device. The ClangFormat plugin now also works on remote files in a Docker container.
You can now directly browse the file system on remote targets, for example to select a remote build directory. And the Open Terminal action, for example in the Build Environment settings, open a terminal on the remote system.
There have been many more improvements and fixes in Qt Creator 10. The more extensive change log is available for reading in our repository, and also under Help > Change Log (and Qt Creator > Change Log on macOS).
The opensource version is available on the Qt download page under "Qt Creator", and you find commercially licensed packages on the Qt Account Portal. Qt Creator 10 is also available as an update in the online installer. Please post issues in our bug tracker. You can also find us on IRC on #qt-creator on irc.libera.chat, and on the Qt Creator mailing list.
You can read the Qt Creator Manual in Qt Creator in the Help mode or access it online in the Qt documentation portal.
Download the latest release here: www.qt.io/download.
Qt 6.9 is now available, with new features and improvements for application developers and device creators.
Check out all our open positions here and follow us on Instagram to see what it's like to be #QtPeople.
Apr 14, 2025
We're happy to announce the release of version 1.4.0 of the Qt Extension..
Apr 11, 2025
We are happy to announce the release of Qt Creator 16.0.1! We fixed a..
Apr 7, 2025
In this blog post, I would like to talk about the improvements in..
Commenting for this post has ended.
Hooray, call hierarchy! It works a bit unintuitive though. I have to place the cursor on a function declaration/call/first line of definition and open the "Call hierarchy" view or click refresh if it's already opened. No context menu entries - I would expect to see "Show call hierarchy" in a context menu next to "Follow symbol" and friends. Also if clicking on a calling function in the Call hierarchy view shows the first line of the calling function definition, not where in the calling function the function in question is actually called. Is this how it's supposed to work? Anyway, nice addition, thanks for the good work.
Unfortunately I missed to add the action to open the call hierarchy via the context menu in time for the 10.0 release, but now you have something to look forward to for the 11.0 release as it is already in current master branch.
Thanks for this call hierarchy, for me it's a big improvement. I just wish it looks more like what Eclipse offers, that is to show the actual line where it's called from and take you there. That is really useful for me as it saves me to manually look for the call.
How can I get static code analysis form clang-tidy and clazy into one output window, so I can go through my analysis results file-by-file without having to switch between multiple output panels?
It's a great release. Unfortunately, there is still the highly annoying issue of cmake projects removing run configurations automatically without warning and without a way to prevent it (https://bugreports.qt.io/browse/QTCREATORBUG-28273). This is a real productivity kill if you have a large cmake project with thousands of targets and cmake arguments that control which targets are generated.
You can have a
CMakeLists.txt.shared
file as documented at https://doc.qt.io/qtcreator/creator-sharing-project-settings.htmlThen if something happens to the
CMakeLists.txt.user
file you can still have the values saved in theCMakeLists.txt.shared
file.A more transparent way would be to have a
CMakePresets.json
file with the run settings configured. But that would be for a future Qt Creator version.Hm... thanks for the pointers. This would help for defining a default set of run configurations to share across developers. But what I'm struggling with is that I'm creating custom run configurations where I keep updating the command line arguments as I'm developing and debugging. Often I have multiple run configurations for the same target with different test cases (sets of command line arguments). I would have to copy the changes I make to the run configurations to
.shared
(or in the futureCMakePresets.json
) file all the time. Additionally, those files would then constantly be marked as changed in version control, since my local run configurations make no sense to commit, as they contain local paths, etc.PS: I understand why this default behaviour might makes sense, since by default targets are also added as run configurations automatically. To me a straight-forward way to solve this would be having an option analogous to "Create suitable run configurations automatically", which prevents any run configuration from automatically being removed. It could be called "Remove stale run configurations automatically" and it's fine for me if it's on by default.