KDevelop 5.0.0 release

Tags
Category

Almost two years after the release of KDevelop 4.7, we are happy to announce the immediate availability of KDevelop 5.0. KDevelop is an integrated development environment focusing on support of the C++, Python, PHP and JavaScript/QML programming languages. Many important changes and refactorings were done for version 5.0, ensuring that KDevelop remains maintainable and easy to extend and improve over the next years. Highlights include much improved new C/C++ language support, as well as polishing for Python, PHP and QML/JS.

This release announcement is kept short intentionally, to check out what's new in KDevelop 5.0, please read this blog post by Kevin.

KDevelop 5.0 screenshot

 

C/C++ language supported now backed by Clang

The most prominent change certainly is the move away from our own, custom C++ analysis engine. Instead, C and C++ code analysis is now performed by clang. Aside from being much easier to maintain, this has a number of advantages:

  • Even the most complex C++ code constructs are now parsed and highlighted correctly and reliably. In the end there's a compiler in the background -- KDevelop will complain exactly if it wouldn't compile.
  • Diagnostics are a lot more accurate and reliable.  For example, KDevelop can now detect whether or not there is an overload of a function available with the parameters you are passing in.
  • For many problems (e.g. misspelled variable names, missing parentheses, missing semicolon, ...), we get suggestions on how to correct the problem from clang, and offer the user a shortcut key (Alt+1) to apply the fix automatically.
  • There is now a C parsing mode, which enables the analysis engine to correctly parse C code.

Work on getting all our old utilities for C++ to work nicely with the new infrastructure is still ongoing in some areas, but most of the important things are already in place. In contrast to the C++ support, the Python support has not undergone any significant refactoring, but has instead seen further stabilization and polishing. The same is true for the PHP and QML/JS language support components.

Qt 5, KDE Frameworks 5, and other platforms

Apart from those changes, KDevelop 5 has of course been ported to KDE Frameworks 5 and Qt 5. This will for the first time enable us to offer an experimental version of KDevelop for Microsoft Windows in the near future, in addition to support for Linux.  Additionally, we offer experimental stand-alone Linux binaries, which make it much easier for you to try KDevelop 5 before upgrading your system-wide installation.

Download

You can download the source code from here. The archives are signed with the following key ID: AC44AC6DB29779E6.

Along with KDevelop 5.0, we also release version 2.0 of the kdevelop-pg-qt parser generator utility; download it from here.

We also provide an experimental pre-built binary package which should run on any moderately recent linux distribution: Download AppImage binary for Linux (any distribution). After downloading the file, just make it executable and run it.

Update: We updated the AppImage (the new version is 5.0.0-1) and fixed a few issues with the packaging, esp. file and project templates not working. It also comes with kdev-php and the console toolview now.

Thanks to everyone involved in preparing the release!

Comments

I cannot wait more minutes for my distro to update KDevelop package to version 5.

As usual, you rock guys!

IIRC KDevelop had Perl support in the past but when I last checked the 4.x branch there was no integration of Perl. Is this something that'll be coming back? Because I'd really like to get rid of Eclipse and KDevelop is nice otherwise. But I do need Perl support.

Permalink

In reply to by Drizzt (not verified)

Nothing planned, sorry, and nobody involed with it at the moment uses perl. So unless somebody steps up, not likely to happen.

That's great, thank you to all involved people :) !
Any plan to support PHP in the AppImage (or I am missing something ?)

Permalink

In reply to by Heller (not verified)

It's in 5.0.0-1 which is up now, together with the konsole toolview and fixes for two issues with packaging. Let us know if it works for you.

Permalink

In reply to by Sven (not verified)

Great work with the new release!

Here are some issues I have using the AppImage:
- qmake does not work because KDevelop tries to execute the build directory.
- importing or opening a cmake project throws the following error message:
"Could not load project management plugin KDevCMakeManager."

Keep up the good work!

Permalink

In reply to by Heady (not verified)

Do you have cmake and qmake installed? The image doesn't ship with any dev tools, and the cmake plugin will only work if you actually have cmake.

Permalink

In reply to by sbrauch

Yes I have cmake and qmake installed. With kdevelop 4.7.3 cmake is working fine.
The locations are in my path and I can call it from the console.
Do I have to set the location of the executables somewhere in the kdevelop configuration?

Permalink

In reply to by Heady (not verified)

If qmake & cmake are in PATH, then everything should just work as expected. Maybe try using a new build directory in KDevelop? (You can also try removing the .kdev4/ folder in your project source directory to start from scratch)

What about TypeScript?

Permalink

In reply to by Alex (not verified)

Patches welcome ;) Nobody around here uses that; JS support basically exists because QML uses JS. To support something like TypeScript, somebody from outside with experience and interest in the language would have to step up.

Congratulations to all contributors involved in this major milestone, and thanks for all your efforts.

I'm trying the appimage now.

I remember a feature from previous KDevelop 4.7 - you are typing over an existing symbol, popup message appears asking you if you want to refactor it, you press Alt-1 - voila, the symbol was rename-refactored. I can't find it in 5.0 anymore. Was it removed? It's a shame if it was. Ctrl-Shift-R rename refactoring uses a separate modal dialog, so there is no in-place refactoring at all.

Permalink

In reply to by vegorov (not verified)

Heya.

It's a bit different in KDevelop 5.0, since we no longer provide those assistant popups as you know them. Try the following under KDevelop 5.0:

Rename a variable which is being used several times, wait for a few milliseconds. You'll notice the variable you just renamed gets a red underline (=> there's a problem). Hover it, you'll notice a solution to the problem, which is renaming all other uses. Clicking 'Solution (1)' will rename all uses.

The same is doable via keyboard shortcuts, too. After changing the variable, press and hold 'Alt' (you'll see the same popup as before), then press '1' to execute solution number one.

Hope that helps.

PS: There's a little bug we've not yet managed to fix: If you press and hold 'Alt' at the *end* of the variable name, the popup will not appear.

Permalink

In reply to by kfunk

I've tried it, and so far I can't make it work -- it just types "1" inside of variable when I press Alt-1. Also, it's hard to discover this feature.

I also noticed that macro-expansion inside of popups was removed.

Anyway, new KDevelop rocks. Thanks!

Thanks for the release and the appimage. It works well :) Where is the config of kdevelop5 located? ~/.kde/? Thanks a lot!

Permalink

In reply to by Blub (not verified)

That got normalized in KDevelop 5 (KF5), there's no longer a .kde prefix.

Configs are in:
~/.config/kdeveloprc
~/.local/share/kdevelop/

Anyone knows how to include the subversion plugin in the "appimage" packadge? Can I use the 4.7.3 version of the kdevsubversion.so ? Thanks

Permalink

In reply to by Alienation (not verified)

No, you can't. The svn plugin is included now, it will ship with the 5.0.1 AppImage.