Eike Ziller

Qt Creator 4.4.0 released

Published Tuesday September 5th, 2017
23 Comments on Qt Creator 4.4.0 released
Posted in Biz Circuit & Dev Loop, Qt, QtCreator, Releases

We are happy to announce the release of Qt Creator 4.4.0!

Qt Creator inline annotations

Editing

If you are using the Clang code model or bookmarks, there are new inline annotations in the editor. Bookmarks and Clang errors and warnings are now also shown at the end of the corresponding text line in the editor. 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. You can configure the position of the annotations in the Options > Text Editor > Display. (You can also turn the feature off there, if you don’t like it.)

We also added the option to smoothly scroll to the new location if you jump to a different place in the same file. If you like to try this feature, turn it on in Options > Text Editor > Display > Animate navigation within file.

C++

We enabled some highlighting features that were already available, but didn’t have their own color set in the default color scheme. Local, global and member variables, functions, declarations and output arguments are now distinguishable by their highlighting in the editor. In case that is too colorful for you, we made the more modest previous scheme available as Default Classic in Options > Text Editor > Fonts & Colors.

When you rename a class, Qt Creator now offers to rename files with the same base name as well. Just check the Rename files option in the search result panel before pressing the 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.

CMake

Qt Creator CMake project treeWe did some cleanup of the project tree when using CMake >= 3.7 (“server-mode”). It now defaults to hide empty directories, and the source files moved one level up, getting rid of the additional <Source Directory> node. We also fixed the application’s working directory when a CMAKE_RUNTIME_OUTPUT_DIRECTORY is specified, and that it was not possible to accept external changes from the CMake configuration has changed on disk dialog.

Other changes

We removed the unmaintained support for Windows 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.

Get Qt Creator 4.4.0

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

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

Posted in Biz Circuit & Dev Loop, Qt, QtCreator, Releases

23 comments

Chris Bruner says:

If a class is renamed, and the files also renames, does it also rename them in the git repo if it’s in a git directory?

Eike Ziller Eike Ziller says:

Yes.

Alan says:

I know that it has already been discussed many times before, but… any plans to make it possible to use the old project view?… I am still stuck with Qt Creator 4.2.2, which is very frustrating to say the least… 🙁

You get the old view when using an old cmake (or a new one with disabled server-mode).

But have you actually given Qt Creator 4.4 a try? The new cmake project tree has been simplified a lot (especially if you disable generated files and trim empty folders via the little funnel icon). Check the screenshot for a comparison between 4.3 and 4.4.

Alan says:

Yes, I have given Qt Creator 4.4 a try and sorry to say, but the new CMake project tree really doesn’t appeal to me (see my original comments at http://blog.qt.io/blog/2017/06/30/qt-creator-4-3-1-released/).

Now, I didn’t know that the old view gets used when server mode is disabled. I searched for “server” and “mode” in Options, but couldn’t find anything relevant?… So, how do I go about disabling server mode in Qt Creator?

Gunnar Roth says:

Using google for 5 seconds I found this: https://bugreports.qt.io/browse/QTCREATORBUG-18444
If you want to run a newer cmake without server-mode, then you will need to write a wrapper around cmake that removes the server-mode support indicator from the output reported by
cmake -E capabilities
That flag is how creator decides whether or not to enable server-mode.

Alan says:

Yes, I saw that link after I posted my message, hence my then 17:44 message yesterday.

There is no option to disable server-mode support in creator — it is a feature of CMake. You will either need to use an old cmake binary (pre-3.7 IIRC), or you will need to build a new cmake without the server-mode feature. Creator will still work with those binaries and will fall back to the old way to extract information from cmake. That will get you (almost) the old tree.

And no, I will not add an option to use the old cmake integration mode: The old tea-leaf reading mode is *way* to fragile and the information it provides is incomplete (and sometimes plain wrong). In fact I want to get rid of the legacy mode as soon as possible (== once all the bigger Linux distributions ship with a cmake new enough to have server-mode enabled).

I am happy to consider feedback on how to improve the new tree though. Qt Creator 4.4 has already taken away some of the bigger pain points that got reported (I hope:-).

About your wish to have headers and sources in the same place of the tree: CMake does not care about headers, so it is unfortunately impossible to assign them to the target they actually belong to.

I tried putting the headers with the sources that use them instead — but that did not scale (e.g. opening the clang project produced 10x the number of nodes in the project tree that it produces now). So for now the headers are separate. Considering that Creator used to not list any header at all for cmake projects, I do consider that a step forward, but I admit this approach is not perfect.

Volker says:

I don’t understand: “Considering that Creator used to not list any header at all for cmake projects”
In the past (creator 4.2) headers were added to the project view for CMake projects just fine. I do use creator 4.2 in my daily work with some really big CMake projects (around 20 libraries and 30 executables as well as additional resource targets). Together with the QtDeployment.txt feature the whole toolchain provides a really good workflow. Apart from some anomalies regarding CMake settings from within Qt Creator (e.g. QTCREATORBUG-16156) I would say it’s nearly perfect. I tried Qt Creator 4.4 and I have to admit, that I don’t like the new project view either.

I can totally understand that you want to use the project parsing possibilities from CMake, but isn’t it possible to transform the acquired information to a View that better fit to the daily developer needs. Maybe the File System view can be filtered by files referenced in the project view, so one has more or less the old project view.

Eike Ziller Eike Ziller says:

You had to explicitly list header files as “source” files in CMake to see them in Qt Creator, which is very unusual for CMake projects. Most users did not have header files listed, wondered why they didn’t see any headers in Qt Creator, and had to add them to the list of sources in their project files just for the benefit of being able to see them in Qt Creator.

Regarding the File System view, see https://bugreports.qt.io/browse/QTCREATORBUG-8305 . It would indeed be nice to have that a bit more project-centered.

Volker says:

My browser does not show a reply button for the last answer, so I use reply to that message:

Regarding header files. I don’t know how the feature is called in CMake but actually you don’t need to add header files explicitly if you omit the file extension when adding source files. As I have most of the time a file naming convention that declares the header file with the same name as the cpp file, it is enough to add e.g. “path/SomeClass” to the CMakeLists.txt instead of “path/SomeClass.cpp” this way an existing “path/SomeClass.h” is added as well. So no need to add headers separately (at least that’s the way it works with Qt Creator 4.2 and CMake 3.7)

Alan says:

Ok, I have got the old view to work in Qt Creator 4.4, but I had to revert to CMake 3.6.2 rather than keep using CMake 3.9.1. Unless I missed it, I really wish there was a way to disable server mode in Qt Creator… At least, now I can use Qt Creator 4.4, so thanks for mentioning the server mode.

Dmytro says:

Would be nice to be able to hide targets from the project tree as well, I have a number of generated files in project and a number of “technical” targets like cmake virtual object libraries etc. It pollutes the project tree, QtCreator 4.2 was more usable from this points of view.

Gunnar Roth says:

Well, check the hide generated files option in qt creator 4.4 project trees window bar.

Dmytro says:

I already have generated files hidden, would be nice to simplify the tree by excluding a huge number of targets and keeping only source files, currently displayed as sub items of target folders.

Slava says:

+1
an opiton to hide targets would be nice.

Kevin Puetz says:

Yeah, supporting the CMake FOLDER project to group (and thus mostly hide) implementation-detail pseudo-targets would be really nice to see (and would bring creator in line with how CMake presents its targets in other IDEs like visual studio and Xcode). Here’s hoping https://bugreports.qt.io/browse/QTCREATORBUG-18641 can get implemented…

Gunnar Roth says:

Hi,
where can I get the pdb’s for the 64 bit windows build? I had quite some crahes in the past and would like to generate backtraces. I also have the problem of 15% cpu load while idle sometimes and with pdb could easier find the trigger. IUsing procmon, I found the 15% cpu thread is calling into my Intel HD4600 graphics driver dll, so not everybody would experience that problem.

Chris Bruner says:

I’m loving the new error message positions.

Nick says:

Great release! Working in Creator is now a real joy, not just work 🙂 All the “little things” that made life difficult seem to have been fixed with the Clang code model.

Vissale NEANG says:

* FakeVim
* Fixed `gt`/`gT`/`:tabnext`/`:tabprevious`

It looks like gT doesn’t work, I have the following error : “Not an editor command: tabprev”

Maybe :tabprevious should be used internally instead of :tabprev

Alexei says:

Got memory leak on clang annotation process (task manager shows private bytes – 2Gb, full adress space for 32 bit process). Version qt-creator-opensource-windows-x86_64-4.4.0_1469.exe

James Hwang says:

The text is too small on the 17″ 4K monitor.
Please give an option for the HDPI monitor

Commenting closed.

Get started today with Qt Download now