Qt team releases Qt Creator 4.8.0 and Qt 5.12 LTS

Yesterday, the Qt team came up with two major releases, Qt Creator 4.8.0 and the long term support of Qt 5.12. In October, the team released the beta version of Qt Creator 4.8.0 and Qt 5.12 LTS beta. Qt, a cross-platform SDK, helps in quickly and cost-effectively designing, developing, deploying, and maintaining software.

What’s new in Qt Creator 4.8.0?

Programming Language Support

Qt Creator 4.8.0 comes with an added support to Language Server Protocol (LSP), a standardized bridge between an editor/IDE and a programming language that supports various programming languages.

Generic highlighter

Qt Creator features code completion, highlighting the symbol under cursor, jumping to the symbol definition, and integrating diagnostics from the language server. This code highlighting is possible with the help of generic highlighter.

C++ Support

This version of Qt Creator has updated Clang code model to LLVM 7.0. The project information that the code model has, can be exported as a compilation database using the new Build > Generate Compilation Database.

New plugins

Compilation Database Projects

Qt Creator 4.8.0 comes with CompilationDatabaseProjectManager plugin, which helps users to work with compilation databases as projects. A compilation database is a list of files and the compiler flags are used for compiling them.

Clang Format

The ClangFormat plugin does the auto-indentation with the help of LibFormat, a library that implements automatic source code formatting based on Clang Format.

Cppcheck

The Cppcheck plugin integrates the diagnostics which are generated by the tool Cppcheck into the editor.

LanguageClient

This version comes with an experimental plugin, LanguageClient for supporting the language server protocol.

Editing

Qt Creator 4.8.0 comes with added support for the pastecode.xyz code pasting service. Also, now it is possible to change default editors in MIME type settings.

Debugging

With Qt Creator 4.8.0, it is possible to simultaneously run multiple debuggers. The debugger toolbar has an additional pop up menu where users can easily switch between running debugger instances and the preset view for starting new debuggers. The running debugger instances can also maintain its own set of views and their layout.

Git

This version comes with an added support for GitHub and GitLab. A navigation pane has been added to this version that shows branches. Also, an option for copy/move detection to git blame has been added.

Android

This release comes with an added support for command line arguments, environment variables, and API level 28.

Improvements

There is also an option for disabling automatic creation of run configurations in Qt Creator 4.8.0

An option that opens terminal with build or run environment has been added in the in this release. In Qt Creator 4.8.0, the process of handling the relative file paths for custom error parsers has been improved.

It is now possible to add libraries for other target platforms in Add Library wizard.

There are improvements made to the Qbs projects as it has added qmlDesignerImportPaths property for specifying QML import paths for Qt Quick Designer.

Major bug fixes

The crash that occurs while removing diagnostics configuration has been fixed now.

The issues regarding the detecting language version have been fixed now.

It is now possible to process function extraction from nested classes.

The startup issue with localized debugger output has been fixed.

The previous version gave invalid access to network paths, this problem has now been fixed with Qt Creator 4.8.0.

Get more information about Qt Creator 4.8.0 on Qt’s official blog post.

Qt 5.12 LTS releases with support for Python, WebAssembly and more

Qt for Python

Qt 5.12 LTS supports Python by making all of the Qt APIs available to Python developers. The tech preview is currently available to the users for testing, while the official release will come up shortly after Qt 5.12 LTS. Qt for Python also supports Qt’s C++ APIs and makes them accessible to Python programmers. Python developers will now be able to create complex graphical applications and user interfaces.

Qt for WebAssembly

Qt 5.12 contains the technology preview for Qt for WebAssembly. Qt for WebAssembly compiles a Qt application to run in any modern Web browser.

Qt Remote Objects

Qt Remote Objects helps in making the IPC between Qt based processes seamless. It exposes the properties, signals, and slots of a QObject to other processes.

Major improvements in Qt Creator 5.12 LTS

Improvements to JavaScript engine

The new release brings improvements to JavaScript engine, which now supports QML. This release now fully supports ECMAScript 7 which enables modern JavaScript and also simplifies the integration of Javascript libraries. Qt Creator 5.12 LTS supports ECMAScript modules and they can be loaded from C++ as well as QML/JS.

TableView

Qt Creator 5.12 LTS comes with TableView as another type of Item View in Qt Quick, a free software application framework developed and maintained by the Qt Project. Its performance is better than its previous QQC1 implementation.

Pointer Handlers

The Pointer Handlers of Qt 5.11 are now renamed as Input Handlers and are also fully supported as a feature in Qt Quick in Qt 5.12. The Input Handlers now simplify the creation of complex interactions. This release comes with two new Input Handlers for hovering and dragging items.

Windows UI Automation

This version comes with Windows UI Automation that allows Qt-based UWP applications to operate with accessibility and programmatic UI control tools. The tablet/touchscreen/touchpad/mouse input has been replaced with a unified implementation based Windows Pointer Input Messages on Windows 8 and above versions.

To know more about Qt Creator 5.12 LTS, check out Qt’s official blog post.