Eike Ziller

Qt Creator 4.9 Beta released

Published Thursday February 21st, 2019
28 Comments on Qt Creator 4.9 Beta released
Posted in Dev Loop, Qt, QtCreator, Releases

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

There are many improvements and fixes included in Qt Creator 4.9. I’ll just mention some highlights in this blog post. Please refer to our change log for a more thorough overview.

Generic Programming Language Support

In Qt Creator 4.8 we introduced experimental support for the language server protocol. This enables editing support for a wide range of programming languages through a common protocol. In 4.9 we add support for the document outline, find usages, and also for code actions, which allow the language server to suggest fixes or refactoring actions at a specified place in the code. If the language server of your favorite programming language supports these features, they are now available in Qt Creator as well. Enable the LanguageClient plugin in Help > About Plugins (Qt Creator > About Plugins on macOS) and configure your server in Tools > Options > Language Client to check it out.

Highlighting is still provided by the generic highlighter in these cases. We changed our highlighter to be based on the KSyntaxHighlighting library, which is the library used in KDE for this purpose. Many thanks to the maintainers of KSyntaxHighlighting for making it available to a wide range of uses.

C++ Support

The UI for diagnostics from the Clang analyzer tools got many improvements. They are grouped by file now. Diagnostics from the project’s headers files are now also included.
Fix-its show details on what they do when applied. We also added a guard against applying Fix-its to files that have changed in the meantime. In the Clazy configuration you can enable or disable individual checks.

If you enabled a diagnostic to be shown inline in the code editor, you can disable individual checks via a button in the diagnostic’s tool tip.

QML Support

We updated our QML parser to Qt 5.12, adding support for ECMAScript 7.

Profiling

Perf is a powerful performance profiling tool for software running on a Linux system. Profile your application via perf with Analyze > Performance Analyzer, after enabling the plugin in Help > About Plugins. The integration in Qt Creator is available for applications running on a local Linux system, and also for applications running on a remote Linux system from a Linux or Windows host.

Generic Projects

Similar to our support for deploying files to a remote system for CMake-based projects, you can now add a QtCreatorDeployment.txt file to your generic project, to specify the necessary information about where to deploy which files.

If your project needs some special compiler flags to be correctly handled by the code model, you can now specify these in a .cxxflags or .cflags file.

Other Improvements

For Windows, we added support for MSVC 2019. On macOS we added a Touch Bar if you run Qt Creator on a MacBook.

For remote Linux targets, we exchanged our Botan-based SSH backend by use of OpenSSH tools. You need to install the tools separately (if you have not already) to be able to benefit from a wide range of encryption and authentication features in Qt Creator. We also added a rsync-based deployment method, as well as support for Run in Terminal.

Version control support has also received many fixes and improvements. The Git Branches view has a new Push action and Git tracks detached HEADs.

Get Qt Creator 4.9 Beta

The opensource version is available on the Qt download page under “Pre-releases”, and you find commercially licensed packages on the Qt Account Portal. Qt Creator 4.9 Beta is also available under Preview > Qt Creator 4.9.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.

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

Posted in Dev Loop, Qt, QtCreator, Releases

28 comments

Andre says:

Thanks to all contributors to this release 🙂

We wanted to try the “Run in Terminal” on remote Linux, but stuck in problems earlier.

1. The “Password” field in Tools > Options > Devices > Generic Linux device is missing, so you have to give the password everytime. Intentional?
2. The new deployment method failed with our (relative big) project. Is there a way to switch back to the old method?

Thanks,
Andre

Christian Kandeler Christian Kandeler says:

I assume you are on Windows? On Unix, the password should get cached for a couple of minutes. In general, we recommend you use the password only once to deploy a public key.

Regarding the deployment failure, you should file a bug report with some more details at bugreports.qt.io. From the description given above, it’s impossible to say what the problem is.

Andre says:

Hi Christian,

no, I’m on Linux. I’ve created https://bugreports.qt.io/browse/QTCREATORBUG-22030 for the password problem.
Creating a report for the deploy problem will take a bit longer, I need to find a minimal test case first.

Regards, Andre

anone says:

Does 4.9 fix compatibility with clang 7.0.1?

Nikolai Kosjar says:

What exactly do you mean?

anone says:

It’s bundled with 7.0.0, but if you build creator with system clang(say, on gentoo), 7.0.1 breaks code model. discussion of this bug was vaguely blaming clang itself for this, so – i am wondering.

Ivan says:

Support of plain C is still broken in some cases (linux kernel): https://bugreports.qt.io/browse/QTCREATORBUG-21637

Nikolai Kosjar says:

So far this looks like an inconsistency when invoking follow symbol (F2 vs ctrl-click). See comments of the report for more details.

Peter says:

Are there any plans for making Qt Creator available on https://flathub.org ?

anone says:

soon:

Situation: there are 15 package managers

Gruh says:

Where are the CMake improvements? For me the current CMake support is mostly broken and if it works – lacking.

tr3w says:

+1

That’s why you guys dropped qbs, so I’m also eager to see lots of improvements there…

Carl says:

Agreed…. tried to make a new Qt widget app using the wizard and NO option to use the CMake build system.

Still have to create console app and then work around it. Not a process for the novice user.

Gruh says:

This is a minor issue. The way QtCreator handles CMake settings is poor. Visual Studio 2017 has a CMakeSettings.json file, which works quite well IMHO.
I suggest QtCreator to support the same format for better and easier interoperability.

Jakub Narolewski says:

1+ for solution similar to CMakeSettings.json Maybe even adoption?
VS’s support for CMake is surprisingly good.

Deepankar Sharma says:

Could you please include some details / screenshots for the perf integration?

Deepankar Sharma says:

Looks like the perf integration is only for commercial users – https://doc.qt.io/qtcreator/creator-cpu-usage-analyzer.html

aportale says:

The Qt Creator 4.9 docs need to get an update on that regard, thanks.

tr3w says:

Is the perf feature the same as was before but now it is part of the OS version?

Ulf says:

There have been some minor fixes, but otherwise the perf profiler is the same as it was in the commercial version of 4.8.

tr3w says:

Cool, thanks, can’t wait to try it out!

piomiq says:

Is there any chance you will add semantic code highlighting like we can meet in KDevelop?

Nikolai says:

https://www.kdevelop.org/features states

“””
Semantic highlighting: Highlighting which takes the semantics of the language into account, and for example highlights class names differently from variable names, even if this cannot be recognized from the syntax of the code alone.
“””

In “Options > Text Editor > Tab: Font & Colors” you can customize colors for local variables (“Local”) or type/classes (“Type”) among others.

Nick says:

I love clang-format and the option to use it live while editing! However, Creator now places a .clang-format file into every project I open instead of using my global clang-format configuration. I didn’t notice at first because it’s a hidden file, but as soon as I did my usual “git status”, it popped up. It did that for every single projects I opened in the new version.

The .clang-format file it creates is not even correct; it completely ignores my global clang-format config.

Is this a bug?

Ivan Ivan says:

I think it can be considered a bug and I have a fix for it in gerrit. The idea was that if Qt Creator sees that you had some code style for the project then it creates a new .clang-format file which tries to follow existing rules. Unfortunately these settings seem to exist even for the new projects so it was a bad idea to create a config file for such cases.
The fix is a part of this code review – https://codereview.qt-project.org/#/c/254016/

anone says:

KSyntaxHighlighting completely broke my definition file for rust. It works perfectly on 4.8.1 and it’s just one gray mass in 4.9

plus it doesn’t care about color specifier now, and forces colors based on defstyle which is not helpful for anything that isn’t cpp

anone says:

Moreover, it just spams
org.kde.ksyntaxhighlighting: Unresolved include rule for “#pop” ## “”
without saying where. 4.8.1 prints no errors. Great library you guys.

Dominik says:

Please send you rust highlighting file to kwrite-devel@kde.org and we will have a look. In general, you highlighting file likely contains errors.

Commenting closed.

Get started today with Qt Download now