Eike Ziller

Qt Creator 4.7 Beta released

Published Tuesday June 5th, 2018
25 Comments on Qt Creator 4.7 Beta released
Posted in Dev Loop, Qt, QtCreator, Releases

We are happy to announce the release of Qt Creator 4.7 Beta!

C++ Support

The greatest improvements were again done for our Clang based C++ support. First of all we made the Clang code model the default for Qt Creator 4.7. That is quite a milestone after years of experimenting and developing, so Nikolai has wrapped up the history and current state in a separate blog post. I’ll just summarize some of the most important changes in 4.7 here.

We did another upgrade of the backend to Clang 6.0, which was released this March. This brings all its improvements like new and fixed diagnostics to Qt Creator as well.

The outline pane and dropdown, the locator filter for symbols in the current document, and Follow Symbol inside the current translation unit (meaning current document and its includes) are now based on Clang too.

You can now perform the static checks from Clang-Tidy and Clazy on the whole project or a subset. This is implemented as a new analyzer tool in Debug mode (Analyzer > Clang-Tidy and Clazy). We also improved the settings, and fixed that the static checks had a performance impact on completion.

Note that you can opt-out of using Clang code model by manually disabling the ClangCodeModel plugin in Help > About Plugins (Qt Creator > About Plugins on macOS). That said, it is very important that we get as much feedback as possible at this stage, so please create bugreports for all issues that you find.

QML Support

The QML code model now includes minimal support for user defined enums, which is a new feature in Qt 5.10 and later. Additionally some reformatting errors have been fixed.

Test Integration

If your text cursor in the C++ editor is currently inside a test function, you can directly run that individual test with the new Run Test Under Cursor action. The test integration now also marks the location of failed tests in the editor. For Google Test we added support for filtering.

Other Improvements

The kit options got their own top-level entry in the preferences dialog, which is also the very first one in the list. In the file system view you can now create new folders. By default it now shows folders before files, but you can opt-out to the previous, purely alphabetic sorting by unchecking the option in the filter button menu. In the context menu on file items at various places, for example the projects tree, file system view and open documents list, there is a new item that opens a properties dialog, showing name, path, mime type, permissions and many more properties of the file.

There have been many more improvements and fixes. Please refer to our changes file for a more comprehensive list.

Get Qt Creator 4.7 Beta

The opensource version is available on the Qt download page, and you find commercially licensed packages on the Qt Account Portal. Qt Creator 4.7 Beta is also available under Preview > Qt Creator 4.7.0-beta1 in the online installer. Please post issues in our bug tracker. You can also find us on IRC on #qt-creator on chat.freenode.net, and on the Qt Creator mailing list.


Note on Wayland support: Even though stated differently in Johan’s blog post, we explicitly disabled the Wayland platform plugin for Qt Creator 4.7 beta1. It broke too heavily in some setups. We will look into adding it again as an opt-in option after the beta.

Do you like this? Share it
Share on LinkedInGoogle+Share on FacebookTweet about this on Twitter

Posted in Dev Loop, Qt, QtCreator, Releases


jason says:

I liked the clazy stuff in 4.6, but found the implementation problematic. If this works, this will be amazing!

Given the way the super-imposed suggestions are implemented, I wonder how hard it is for a a feature I’ve been requesting is? The feature is matching } with the opening so that

if (x==7) {

} [if( x==7)]

or Rectangle {
id: background
} [ Rectangle id: background]

where the stuff in [ ] is superimposed.

d3fault says:

this is a great idea, +1! it should also be done with #if and #endif blocks. all too often coders hard-type those very same hints as C++ comments.

I recommend filing it as a bug report against QtCreator, categorized as a “Suggestion”, that way the idea doesn’t get lost here in these comments.

jason says:

Exactly! But then the comments have to be maintained, and if you refactor a QML file, it’s a sure bet it’ll not be correct. It’s clearly a job the tool should be doing.

The } hell of QML (QM-Hell?) is why I came up with this

d3fault says:

I like the idea so much I filed the Suggestion for you: https://bugreports.qt.io/browse/QTCREATORBUG-20597

Dan M says:

Was the broken formatting of fix-its (i.e. the code inserted by fix-its had wrong indentation) fixed in this release?

Ivan says:

I haven’t noticed the broken formatting after fix-it so far. Is there a bug report about that?

Andrey says:

Is it planned to improve with https://bugreports.qt.io/browse/QTCREATORBUG-16356
Grep is very usefull on debugging

Jason says:

So many of my clazy issues are resolved. (yay!) QML enums are not errors (yay!) but they aren’t syntax highlighted.

Escyll says:

Also Follow symbol under cursor and code completion are not working yet. But great work indeed.

nomad says:

clang code model is extremely slow though. and it isn’t really THAT much better than the integrated one. sure it does go through some autos, but at the cost of a few gigs of ram to creator’s otherwise nonexistent memory footprint and adding noticeable delay to files being parsed, even on i5 desktop.

on a laptop it can singlehandedly turn creator from the objectively best ide out there into garbage. i fully understand your team’s fascination with clang code model, but it’s just not suitable for default.

Damien says:


Eike Ziller Eike Ziller says:

“i fully understand your team’s fascination with clang code model”

It is not fascination, it is need in a time where C++ evolves very fast.
If you use even only C++11, or C++17 features, or std::, Qt Creator with the built-in model is very bad.
So, please, if you have performance issues, please feed us with information about the kind of project(s) where that is the case (on https://bugreports.qt.io). Otherwise, the built-in model still exists.

nomad says:

>Qt Creator with the built-in model is very bad
I have been extensively using qtcreator while writing c++14 code for the last year and did not feel that at all.

Yes, builtin doesn’t go through auto, but clang model can’t turn . into -> which is far more annoying, and it never will, as was concluded it the related bug. Clang static analyzer for example is very useful but clang code model just doesn’t justify the slowdown it incurs.

Eike Ziller Eike Ziller says:

“but clang model can’t turn . into ->”

It does. See e.g. https://bugreports.qt.io/browse/QTCREATORBUG-15780 .

Tobi says:

Just a quick question: What version of Qt is used to build QtCreator 4.7.0?


Eike Ziller Eike Ziller says:

For the beta: Qt 5.11.0. For the final we’ll see if 5.11.1 is available.

Alexey says:

QtCreator startup takes a long time :/

Eike Ziller Eike Ziller says:

Please create a report on https://bugreports.qt.io with the output of Help > System Information, and the output of running Qt Creator from a terminal with “/qtcreator -profile”

Mitch Mitch says:

I created https://bugreports.qt.io/browse/QTCREATORBUG-20593 even though it’s not super slow for me on the machine I’m currently on. I have had the same issue on the past on other machines, so now people can add their results to that report at least.

Gav says:

I cannot see a way to install QtCreator to a secure machine not connected to Internet.
The last version I could install is 4.6 Beta 1. After this version you can no longer install to an offline machine.
Is there a way to install to a machine offline ?


isgursoy says:

Did you see some class names are lost in dark theme? Black on black.

isgursoy says:

and make install is not working, you should fix these two urgently.

Eike Ziller Eike Ziller says:

“some class names are lost in dark theme?”

Which ones? Can you provide details, best in a bugreport?

“make install is not working”

What fails (our packaging succeeds, so this is not obvious)? Which platform? Etc etc? Tracking information best works in bug reports.

Commenting closed.

Get started today with Qt Download now