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.
- The remote Linux has been updated to Botan 2.8 in this version.
Major bug fixes
- Issues with local references for operator arguments has been fixed
- Qt Creator 4.8.0 now supports UI headers.
- 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.