Eike Ziller

Qt Creator 4.4 Beta released

Published Thursday July 20th, 2017
37 Comments on Qt Creator 4.4 Beta released
Posted in Dev Loop, Qt, QtCreator, Releases

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

qtc_inline_annotations

Editing

This version of Qt Creator features optional inline annotations for warnings and errors from the Clang code model and for bookmark comments (Options > Text Editor > Display > Display annotation behind lines). This way, you can easily see the details of issues while you type, without the need to hover your mouse over underlined text or the marker on the left side.

C++

When you rename a symbol, you are now offered to also rename files with the same name. Just trigger the renaming and check “Rename N files” (where “N” will be the number of files with the same base name) in the search results panel before pressing the actual “Replace” button.

If you have the Clang code model enabled, this is now also used for the highlighting of the identifier at the text cursor, which was previously still using the built-in model in any case.

There have been many bug fixes as well. C++ and Qt keywords are no longer wrongly considered keywords in C files, the function signature hint will now work when completing constructors with the Clang code model, and many more.

CMake

We were pretty busy fixing issues already in the 4.3 line of Qt Creator, but there are some improvements in 4.4 as well. We added a filter to the CMake variables setting in build configurations, fixed that headers from the top level directory were not shown in the project tree when using server-mode and improved the handling of CMAKE_RUNTIME_OUTPUT_DIRECTORY in CMake project files.

Other changes

We removed the non-maintained support for Window CE, and changed the ClearCase integration to be disabled by default.

This is just a small selection of the changes and improvements done in 4.4. Please have a look at our change log for a more detailed overview.

Known Issues

QML Profiler can currently get into invalid state. Stopping the application before stopping profiling currently does not work.

Get Qt Creator 4.4 Beta

The opensource version is available on the Qt download page, and you find commercially licensed packages on the Qt Account Portal. 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.

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

Posted in Dev Loop, Qt, QtCreator, Releases

37 comments

Louis says:

Actually I’m a bit disappointed about the latest versions of QtCreator, even if I understand that you work a lot to improve continuously. All these /etc. nodes in the tree in CMake projects are very annoying for big projects where you have to expand and expand and expand. The organization of the sources no longer (always) follows the organization of the code in the different directories on the disk, that makes the project tree completely messy compared to what we had before. I came back to Qt Creator 4.2.2 because of this.

Louis says:

The “<" and the other where removed when I submitted the message. I meant "Source Directory"/etc. nodes in the tree in CMake projects.

Ivan says:

I’m supporting this comment and want to add my two cents about how this tree view is implemented.

I’m working with a big project which uses a bunch of included *.pri files. They can be included many times in different parts of this project. As far as I see, headers and sources of each *.pri are shown only once in the place of the first inclusion of that pri. So if I’m working in the part which is not the first inclusion, I don’t just see those files under the name of the pri. In that case if I just want to open any source or header from it, I’m forced to open pri file, push ctrl and click on the name of the file. From my point of view It makes huge step back in user experience compared to new features and bug fixes. Please please fix it.

Gabriel says:

I do agree with Louis on this subject. The messy tree for big CMake projects, that makes really hard the navigation in the project tree, is also the reason why I don’t want to use the newer versions of QtCreator for now.

I hope we’ll have the ability soon to have a clever mix between a clean CMake tree and the latest improved functionalities of QtCreator!

Tom says:

How can I enable the warnings to show up within the code?

Eike Ziller Eike Ziller says:

Enable ClangCodeModel and Options > Text Editor > Display > Display annotations behind lines

Marco Aurélio G. da Silva says:

Tried to check the option, but still not working for me

Eike Ziller Eike Ziller says:

Did you enable ClangCodeModel plugin (Help > About Plugins), restart Qt Creator, and checked the option above?

Arthur Turrini says:

Great release! Congrats!

Alexey says:

How to enable inline annotations for warnings and errors ?

Eike Ziller Eike Ziller says:

Added more info to the post.

Peter says:

When will the Clang code model become the default?

Eike Ziller Eike Ziller says:

It seems that the user experience with the Clang code model can still vary greatly (especially on Windows). We fixed many issues in 4.4 (and still are), but when we can make it enabled by default highly depends on the feedback that we get.

Michał Brzozowski says:

What are some examples of functionality besides the warning annotations that the Clang code model adds or improves? I started using this beta update without the plugin enabled, and it seems that code navigation and autocompletion is working fine and is actually much faster.

Eike Ziller Eike Ziller says:

If you are using C++11 or later or write templated code, you are probably better off using Clang code model. Even without the textual annotations in the editor it marks warnings and errors in the code, including quick fixes, which I find boosts productivity (and fun) by reducing the “code -> compile -> fix” cycle.

Alan says:

Does QtC 4.4 offer the old Projects view in addition to QtC 4.3’s new Projects view, or does it only offer the latter? In other words, should I stick to QtC 4.2.2 or is it ‘safe’ to upgrade?…

Tobias Hunger Tobias Hunger says:

Qt Creator 4.4 will have exactly the same CMake project tree as 4.3: I was busy fixing bugs in the 4.3 branch, so I never got round to do serious work in the 4.4 branch before the feature freeze set in:-( Sorry.

Alan says:

Thanks Tobias. Sticking with QtC 4.2.2 then…

Kai Mast says:

I hope there will be meson support eventually 🙂

Nikos Chantziaras says:

Indeed. I switched to CMake a while back, and then Meson happened… Rather unfortunate timing, but Meson is indeed the better choice compared to CMake, at least for me. And it’s picking up adoption all over the place lately.

Unfortunately, it doesn’t seem to be very IDE friendly. CMake added “server mode” a while back, but it doesn’t look like Meson is doing anything similar, at least not any time soon.

German Diago says:

I am not sure what you mean by IDE friendly. It certainly does not have a server, but it does have mesonintrospect tool which gives you a bunch of information about targets and others. But I do not know of any IDEs which are taking advantage of it yet.

Tobias Hunger Tobias Hunger says:

Meson sees a lot of adoption lately (and by some programs that I sometimes end up sending patches to).
I have been following meson ever since sitting in this presentation: https://www.youtube.com/watch?v=rO_UQivwuIo

Currently I use the Generic Project mode for those projects, which works reasonably well for simple projects.

I am pretty sure I can help to push this along if somebody wants to work on adding support to Qt Creator. So please get into contact about meson support!

Tom says:

Does qbs bring any speed improvements over qmake like meson or is it just a new syntax?

Nikos Chantziaras says:

There’s a suggestion open for Meson support:

https://bugreports.qt.io/browse/QTCREATORBUG-18117

I was going off the comment from Tobias Hunger, where he mentions that IDE support is lackluster currently.

aportale says:

Fun fact: Tobias (who added and now maintains the server mode in CMAKE and who works on CMake support in Qt Creator) is a fan of Mason. I am sure he would be working on Mason support in Qt Creator if it was a strong requirement or if a day had 36 hours 🙂

Slartibart says:

Not to be a killjoy, but I hope this feature can be turned off. The clang formatter struggles severly when you have medium to large projects (ours is 40-50 files and 120k LOC and it uses ca 10-30 sekunds to parse files depending on include structure), and having erronous error messages splayed all over my editor while I’m typing code in addition to the edito being painfully slow and the UI updating at a glacial pace is simply going to be too much.

Which kinda brings me to my point, please stop adding new features and fix that damn editor first (async please!).

Jakub says:

It looks great!

My only wish is to have integrated clang-tidy checks and I will be set :]

Roland Wolf says:

There is a ticket where Tobias Hunger explains why the messy state of project view is CMake’s fault. Creator simply displays what CMake server reports. I understand this but the result remains the same: Your hard work is lost for all the users who are forced to stay with 4.2.2. A possible solution: Implement another view which displays all *.h,*.cpp,*.js,*.qml etc files under the source directory. If you want you can define a file called projectview.txt which implements a .gitignore like syntax to select files to display. Even qmake projects would benefit from such a view.

Markus says:

Hi,

glad to see that the inline annotations made it way into official Qt Creator =)
Reminds me a lot of a plugin that I once wrote in 2010 to achieve something similar:

http://lists.qt-project.org/pipermail/qt-creator-old/attachments/20100621/2d79c6cf/attachment.png

Congrats for the new release and keep up the good work!
I enjoy using QtCreator since project “greenhouse” at work on a daily basis 🙂

Alex says:

Thanks! QtCreator makes my every day work much more pleasant!
Small feature request: smart navigation in “replace” mode (ctrl+shift+R for items in several files), so cursor will jump like in source code editor when “ctrl” + “arrow” is pressed.

Andre says:

@Alex: You mean camel case navigation for the replace text field? I already started something like this, but never finished it…

Alex says:

Yes.
In most cases I rename only part of name and my fingers tries to use the same buttons for navigation inside variable name as in a normal text editor: “ctrl + arrow”.
Please bring this feature to QtCreator and you will get +10 to your karma )

jason says:

I do like like the in-line ness of the warnings and errors, but what about the QML side where we’re trying to keep track of a series of } } } }?
I think the new inline errors would be useful if it could be re-leveraged
Rectangle {
id: background
Column {
Row {
id: header
} [ Row id: header ]
} [ Column ]
} [ Rectangle id: background ]

jason says:

I’m also hoping that the rich scrollbar (positional color highlighting) makes it in for the help and output panes.

Marcin says:

When do you add working code completing with auto specifier and so on? It doesn’t work very well.

Michael Cox says:

There seems to be a regression when deleting files from the Projects view.

With 4.4 RC (1354), deleting a file takes quite some time. This is with a git project underneath.

Commenting closed.

Get started today with Qt Download now