News

KDevelop 5.3 released with new analyzer plugin and improved language support

2 min read

20 years after KDevelop’s first release, KDevelop 5.3 is now released with features like a new analyzer and improved support for some languages.

A new type of analyzer plugin in KDevelop 5.3

In version 5.1 KDevelop got a menu entry Analyzer which provides a set of actions to work with analyzer-like plugins. With version 5.2, a runtime analyzer called Heaptrack and a static analyzer called cppcheck were added. In the development phase of KDevelop 5.3, another analyzer plugin was added which is available with the current release.

The new analyzer named Clazy is a clang analyzer plugin specialized for Qt-using code. It can now also be run from within KDevelop by default displaying the issues inline. The KDevelop plugin for Clang-Tidy support will be released as part of KDevelop starting with version 5.4. It is released independently as of now.

Internal changes in KDevelop 5.3

KDevelop’s own codebase has been subject for using analyzers. A lot of code has been optimized and also stabilized in places indicated by the analyzers. There is also modernization to the new standards of languages like C++ and Qt5 with the aid of analyzers.

Improved support for C++

Lot of work was done in KDevelop 5.3 on stabilizing and improving KDevelop’s clang-based language support for C++. The notable fixes include:

  • In clang tooltips were included, range check was fixed.
  • The path to the builtin clang compiler headers can now be overridden.
  • Now the clang builtin headers are always used for the libclang version used.
  • Requests are completed in a group and only the last one is handled.
  • The template for Class/function signatures in Clang Code Completion is fixed.
  • A workaround for constructor argument hints to find declarations.
  • In clang, argument hint code completion is improved.

Improved support for PHP

With the help of Heinz Wiesinger, there are improvements for PHP support in KDevelop 5.3.

  • There is much-improved support for PHP Namespaces.
  • Support for Generators and Generator delegation is added.
  • The integrated documentation of PHP internals has been updated and expanded.
  • Support for context-sensitive lexer of PHP 7.
  • Installing the parser as a library so other projects can use them.
  • The type detection of object properties is improved.
  • Support is added for the object typehint.
  • ClassNameReferences is better supported.
  • Improvements to expression syntax support particularly around ‘print’.
  • Optional function parameters are allowed before non-optional ones.
  • Support for magic constants: __DIR__ and __TRAIT__ are added.

Improved Python language support

The focus is on fixing bugs, which have been added to the 5.2 series. A couple of improved features in 5.3 are:

  • Environment profile variables are injected into debug process environment.
  • The support for ‘with’ statements is improved.

There is also experimental, but maintainer-seeking support for macOS and port for Haiku.

For more details, visit the KDevelop website.

Read next

Neuron: An all-inclusive data science extension for Visual Studio

The LLVM project is ditching SVN for GitHub. The migration to Github has begun.

Microsoft announces .NET standard 2.1

Prasad Ramesh

Data science enthusiast. Cycling, music, food, movies. Likes FPS and strategy games.

Share
Published by
Prasad Ramesh

Recent Posts

Top life hacks for prepping for your IT certification exam

I remember deciding to pursue my first IT certification, the CompTIA A+. I had signed…

3 years ago

Learn Transformers for Natural Language Processing with Denis Rothman

Key takeaways The transformer architecture has proved to be revolutionary in outperforming the classical RNN…

3 years ago

Learning Essential Linux Commands for Navigating the Shell Effectively

Once we learn how to deploy an Ubuntu server, how to manage users, and how…

3 years ago

Clean Coding in Python with Mariano Anaya

Key-takeaways:   Clean code isn’t just a nice thing to have or a luxury in software projects; it's a necessity. If we…

3 years ago

Exploring Forms in Angular – types, benefits and differences   

While developing a web application, or setting dynamic pages and meta tags we need to deal with…

3 years ago

Gain Practical Expertise with the Latest Edition of Software Architecture with C# 9 and .NET 5

Software architecture is one of the most discussed topics in the software industry today, and…

3 years ago